我无法从spring控制器访问模型和视图对象到jsp。我使用的是spring 4,jstl 1.2和webapp version 3.0
dateutil
这是我的控制器
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
我能够从数据库中获取值列表,但添加的对象不会在jsp中打印。例如$ {hello}没有被打印,但是我能够检索在同一个jsp中设置的$ {i}值。
@RequestMapping(value="/products",method = RequestMethod.GET)
public ModelAndView processProductPage() {
ModelAndView mv=new ModelAndView();
mv.setViewName("products");
List<Product> products=productPageFacade.execute();//Retrieve products from db
mv.addObject("products",products);
mv.addObject("hello","hai");
return mv;
}
Taglib指令:
<c:set var="i" value="0" ></c:set>
<c:out value="${hello}"></c:out>yyy
<c:out value="${i}"></c:out>
我甚至尝试使用以下代码,但没有运气。
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
Spring控制器没有问题,因为我能够从db检索产品对象,但是模型和视图中添加的对象没有显示在jsp中。
答案 0 :(得分:1)
不确定它是如何改变的我用过
org.springframework.web.portlet.ModelAndView
而不是
org.springframework.web.servlet.ModelAndView
在我的程序中导致了这个问题。它通过将其更改回servlet ModelAndView来解决。
答案 1 :(得分:0)
${hello}
未打印,因为您已将该属性命名为。相反,您需要打印值,这是mv.addObject()
方法的第二个参数。
<c:out value="${hai}"></c:out>