この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>