其他分享
首页 > 其他分享> > 春季-JSTL c:out不显示变量的值

春季-JSTL c:out不显示变量的值

作者:互联网

我正在学习教程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}

我已经对所有内容进行了两次检查(甚至更多次!),但是所有内容似乎都与本教程中所说的一样,但是必须缺少某些内容,我希望…

我的代码有什么问题?

解决方法:

这是一个表达语言问题.您的${}尚未解决.发生这种情况可能有多种原因.一种,也是最有可能的是,您的web.xml声明了Servlet 2.3及更低版本.您必须指定2.4.现在,显然,您的Servlet容器还必须支持该更高版本.

标签:taglib,spring,spring-mvc,jsp,jstl
来源: https://codeday.me/bug/20191011/1894001.html