私はSpringフレームワークを試してきましたが、jspファイルにjava-class属性を印刷しようとしているときに、ちょっとした問題が発生しました。日付を自分のページに印刷しようとしても、何も得られません。コンソールで確認できるように、変数に値があることはわかっていますが、ページには何もありません。値を表示する必要がある私のindex.jspは次のとおりです。
<!-- contains taglibraries -->
<%@ include file="/WEB-INF/jsp/include.jsp" %>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Hello :: Spring Application</title>
</head>
<body>
<h1>Hello - Spring Application</h1>
<h2>Testing tags</h2>
<p> <c:out value="If you see this then C-tag works."/> </p>
<h2>Testing values brought from controller. One should see a date after "now".</h2>
<p>Greetings, it is now <c:out value="${now}"/></p>
</body>
</html>
そして、ここに私のindexController.javaがあります:
import java.util.Date;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
public class IndexController implements Controller{
protected Log logger = LogFactory.getLog(getClass());
@Override
public ModelAndView handleRequest(HttpServletRequest hsr, HttpServletResponse hsr1) throws Exception {
String now = (new Date()).toString();
logger.info("Returning hello view and " + now);
return new ModelAndView("WEB-INF/jsp/index.jsp" , "now" , now);
}
}
誰かが私が間違っていることを指摘できますか? ああ、明確にするために:「include.jsp」にはすべてのタグライブラリが含まれているため、次のようなタグライブラリがありません:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
index.jsp の最初の c-tag が機能するため、問題ありません。問題は、表示を拒否する変数「now」を持つ 2 番目の c-tag です。