JSTL c:没有显示变量的值

Llu*_*ñol 2 spring jsp jstl spring-mvc taglib

我正在关注一个关于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);
    }
}
Run Code Online (Sandbox Code Playgroud)

然后,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>
Run Code Online (Sandbox Code Playgroud)

我希望得到一个显示这个的HTML:

Greetings, it is now Mon Fri Dec 06 00:39:35 CET 2013
Run Code Online (Sandbox Code Playgroud)

但我得到的只是:

Greetings, it is now ${now}
Run Code Online (Sandbox Code Playgroud)

我已经检查了两次(甚至更多!)但是一切似乎都像教程所说的那样但是必须有一些东西缺失,我希望......

我的代码出了什么问题?

Sot*_*lis 11

这是一个E xpression L语言问题.你${}没有得到解决.这可能由于多种原因而发生.一个,也是最有可能的是,你的web.xml声明了Servlet 2.3及以下版本.你必须指定2.4+.现在,显然,您的Servlet容器也必须支持更高版本.