JSTL c:forEach printing $ {}

时间:2015-04-27 20:42:58

标签: java spring jstl

我有一个简单的控制器,它有一个方法

@RequestMapping(value = "/products")
public ModelAndView showProducts(){
ModelAndView mv = new ModelAndView("products");
mv.addObject("products", productDAO.getAllProducts());
return mv;

然后我有包含jstl的products.jsp页面

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<html>
<head>
    <title></title>
</head>
<body>

Hello from products page.<br/>

<c:forEach var="prod" items="${products}">
    ${prod.price}
    ${prod.id}
</c:forEach>


</body>
</html>

问题是我在浏览器中看到$ {prod.id}字符串的结果,而不是我设置的产品的实际ID。有人遇到过这个问题吗?

1 个答案:

答案 0 :(得分:0)

编辑:

问题在于web.xml - 我使用的是默认的maven-webapp原型,而web.xml有这个

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

所以我刚删除它,JSTL开始工作。