1

このSpringチュートリアルのオンラインフォームspringsource.orgを読んでいます。

http://static.springsource.org/docs/Spring-MVC-step-by-step/part2.html

/WEB-INF/jsp/第 2 章では、最後に、接頭辞と接尾辞、および.jsp応答に Bean を追加します。

これまでのコードは基本的に、localhost:8080/springapp/ に移動すると index.jsp をロードする必要があり、これは localhost:8080/springapp/hello.htm にリダイレクトされ、理論上は /WEB に送信されるはずの HelloController のインスタンスが作成されます。 -INF/jsp/hello.jsp。プレフィックス/サフィックス Bean を追加し、すべての参照を完全パスの jsp ファイルではなく「hello」に変更すると、次のエラーが発生し始めました。

message Handler processing failed; nested exception is 
java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/fmt/LocalizationContext

何度かサンプルに戻ってタイプミスをチェックしてみましたが、まだ問題を見つけることができません。ヒントや指針はありますか?

index.jsp (webapp のルート:

<%@ include file="/WEB-INF/jsp/include.jsp" %>

<%-- Redirected because we can't set the welcome page to a virtual URL. --%>
<c:redirect url="/hello.htm" />

HelloController.java (インポートとパッケージを除く:

public class HelloController implements Controller {

protected final Log logger = LogFactory.getLog(getClass());

    public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

        String now = (new Date()).toString();
        logger.info("Returning hello view with " + now);

        return new ModelAndView("hello", "now", now);
    }
}

私の hello.jsp ファイル:

<%@ include file="/WEB-INF/jsp/include.jsp" %>

<!DOCTYPE html>
<html>
    <head>
        <title>Hello :: Spring Application</title>
    </head>
    <body>
        <h1>Hello - Spring Application</h1>
        <p>Greetings, it is now <c:out value="${now}" /></p>
    </body>
</html>
4

3 に答える 3

2

ここに JSTL jar がないようです。ダウンロードしてクラスパスに配置して、動作するかどうかを確認してください: Where can I download JSTL jar

于 2013-03-19T01:52:46.433 に答える
1

特定の必要な jar がクラスパスから欠落しているようです。クラスパスにservlet-api-2.x.jar jsp-api-2.x.jarjstl-1.x.jarがあることを確認してください

于 2013-03-19T01:52:30.090 に答える
1

jstl.jarファイルが自分のWEB-INF/libフォルダにあることを確認してください。

実際のところ、リンクしたチュートリアルに記載されている内容は次のとおりです。このステップを逃したと思います:

JSP 標準タグ ライブラリ (JSTL) を使用するので、必要な JSTL ファイルを「WEB-INF/lib」ディレクトリにコピーすることから始めましょう。「spring-framework-2.5/lib/j2ee」ディレクトリから jstl.jar を、「spring-framework-2.5/lib/jakarta-taglibs」ディレクトリから「springapp/war/WEB-INF/lib」に standard.jar をコピーします。 ' ディレクトリ。

于 2013-03-19T01:58:35.923 に答える