【发布时间】:2013-12-05 23:50:45
【问题描述】:
我正在学习about spring 的教程,我应该在控制器中设置一个变量,以便在呈现请求的 jsp 中打印。代码如下:
@Controller
public class HelloController {
@RequestMapping(value="/hello.htm")
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String now = (new Date()).toString();
return new ModelAndView("WEB-INF/views/hello.jsp", "now", now);
}
}
那么,hello.jsp代码如下:
<%@ page session="true"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<html>
<body>
<p>Greetings, it is now <c:out value="${now}" /></p>
</body>
</html>
我应该得到一个显示这个的 html:
Greetings, it is now Mon Fri Dec 06 00:39:35 CET 2013
但我得到的只是:
Greetings, it is now ${now}
我已经检查了所有内容两次(甚至更多!),但一切似乎都如教程所说,但一定有什么遗漏,我希望......
我的代码有什么问题?
【问题讨论】:
-
我认为您编码的 hello 控制器错误。您需要将 now 放入带有 key is now 的 MAP。
-
我也尝试了以下代码但没有成功:
Map<String, String> params = new HashMap<String, String>(); params.put("now", now); ModelAndView mav = new ModelAndView("hello.jsp"); mav.addAllObjects(params); return mav; -
请发布您的完整 web.xml。
标签: spring jsp spring-mvc jstl taglib