java - jsp中不显示值

标签 java jsp spring-mvc jstl

我是 Spring 框架和使用 jSTL 的新手。我在 jsp 文件上显示数据时遇到问题。这是我的代码

Controller

@RequestMapping(method = RequestMethod.GET, value = "/test")
public ModelAndView getTest(HttpServletRequest request) {
    List<Place> places = PlacesService.search(types, 48.137048, 11.57538599, 10000);
    for(Place place:places){        

        System.out.println("Name: " + place.getName());
        System.out.println("Rating: " + place.getRating());
        System.out.println("Categories: " + place.getTypes());
        counter++;
    }
    ModelAndView model = new ModelAndView("test");
    model.addObject("places", places);
    return model; 
}

在我的 test.jsp 中

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"    pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<body>
 Hello World!
 <c:forEach items="${places}" var="place">
   <c:out value="${place.name}"/>   
   <c:out value="${place.rating}"/>
   <c:out value="${place.types}"/>
</c:forEach>
<c:forEach begin="6" end="15" var="val">
    <c:out value="${val}"/>
</c:forEach>

</body>
</html>

对于两个 for 循环,我得到 ${place.name} , ${place.rating} , ${place.types}${val}打印。然而System.print.out()给我想要的值。

我做错了什么?

最佳答案

好的,我找到了解决方案。也许它会帮助其他人在未来

如果您使用的是旧的 JSP 1.2 描述符,例如由 DTD 定义的 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" >

<web-app>
 //...
</web-app>

默认情况下,EL 被禁用或忽略,您必须手动启用它,以便它将输出“msg”模型中存储的值。

 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
 <html>
 <head>
    <%@ page isELIgnored="false" %>
 </head>
 <body>
       ${msg}
 </body>
 </html>

如果您使用的是标准 JSP 2.0 描述符,例如由 w3c 模式定义的 web.xml

<web-app id="WebApp_ID" version="2.4" 
xmlns="http://java.sun.com/xml/ns/j2ee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">  
    //...
</web-app>

默认情况下启用 EL,您应该看到存储在“msg”模型中的值

关于java - jsp中不显示值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22670323/

相关文章:

java - 无法替换表列中的值

jsp - EL 通过整数键获取 HashMap 的值

java - JSP请求中的属性变为0

javascript - 是否可以在 servlet/jsp 和 javascript 函数之间共享 session 变量?

java - Spring mvc/安全 : excluding the login page from spring security

java - 我无法从 servlet 到 jsp 获取 json 对象。我能怎么做?

java - 如何将光标定位在默认位置?

JavaFX WebView 无法使用不受信任的 SSL 证书工作

spring - @Value 没有被注入(inject)到其他包中

java - 在mybatis中返回HashMap,在spring MVC中作为ModelAttribute使用