我使用spring 3.1和方法应该返回一个由jspx页面表示的视图。在调试中我看到名为noteList
的模型中的变量,我无法在页面上打印或迭代此变量。
输出为${noteList}
。
以下是一些代码:
@RequestMapping( value = "/", method = RequestMethod.GET)
public ModelAndView rootPage(){
List<Note> result = sessionFactory.openSession().createCriteria(Note.class).list();
ModelAndView mv = new ModelAndView("index");
mv.addObject(result);
return mv;
}
<?xml version="1.0" encoding="UTF-8" ?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"
xmlns:c="http://java.sun.com/jsp/jstl/core"
xmlns:spring="http://www.springframework.org/tags" version="2.0">
<jsp:directive.page language="java"
contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" />
<![CDATA[<!DOCTYPE html>]]>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Index page</title>
</head>
<body>
<c:out value="${noteList}"/>
</body>
</html>
</jsp:root>
<beans:bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<beans:property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<beans:property name="prefix" value="/WEB-INF/views/" />
<beans:property name="suffix" value=".jspx" />
</beans:bean>
答案 0 :(得分:1)
由于noteList
包含对象类型Note
的列表,您可以尝试访问Note
对象的一个属性。假设您在name
中有一个Note
属性,然后在您的jsp中尝试{node.name}
。
答案 1 :(得分:0)
您可以改为使用ModelAndView addObject(String attributeName, Object attributeValue)。
E.g:
mv.addObject("noteList", result);
然后在JSPX中
<c:forEach items="${noteList}" var="node">
${node}
</c:forEach>
答案 2 :(得分:0)
谢谢大家!我有一个答案。
问题发生在jspx页面
工作页面包含开头的下一个代码:
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"
xmlns:c="http://java.sun.com/jsp/jstl/core"
xmlns:spring="http://www.springframework.org/tags"
xmlns:form="http://www.springframework.org/tags/form" version="2.0">
<jsp:output doctype-root-element="html" omit-xml-declaration="true"
doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
doctype-system="http://www.w3c.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" />
<jsp:directive.page language="java"
contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" />
<html>
<head>
.....