java - JSTL c:forEach printing ${} -


i have simple controller has method

@requestmapping(value = "/products") public modelandview showproducts(){ modelandview mv = new modelandview("products"); mv.addobject("products", productdao.getallproducts()); return mv; 

and have products.jsp page jstl included

<%@ 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 products page.<br/>  <c:foreach var="prod" items="${products}">     ${prod.price}     ${prod.id} </c:foreach>   </body> </html> 

the problem see result in browser ${prod.id} string , not actual id of product i've set up. has encountered problem ?

edit:

the problem web.xml - using default maven-webapp archetype , web.xml had this

<!doctype web-app public  "-//sun microsystems, inc.//dtd web application 2.3//en"  "http://java.sun.com/dtd/web-app_2_3.dtd" > 

so removed , jstl started working.