我有一个有效的Spring Controller类和相关的方法:
@RequestMapping(value="shownews", method = RequestMethod.GET)
public String getNews(Model model) {
// test
ArrayList<String> a =new ArrayList<String>();
a.add("aa");
a.add("bb");
model.addAttribute("someA", a);
// real data
model.addAttribute("newsS", News.getAllNews()); // returns a valid List<News>
return "shownews";
}
然后我想在我的.jsp页面中显示这些值,代码:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<%@page contentType="text/html;charset=UTF-8" language="java" %>
<%@page isELIgnored="false" %>
...
VALUES: ${someA} // output: '[aa, bb]'
VALUES: ${newsS} // output: '[Category: categ1, Contents: cont1, Dateposted: 2011-
12-22 00:00:00.0, Id: 1, IdWho ........]'
<c:forEach items="${newsS}" var="someitem">
<p> Category: ${someitem.category} </p> // output: 'Category: ', instead of 'Category: categ1'
</c:forEach>
似乎已正确提交数组以查看... 答案是:如何列出具有其属性的每个对象? (使用forEach标签) 谢谢!
更新:
My News.java文件仅包含字段声明(无getter或setter)。
一些Roo生成了AspectJ文件: News_Roo_Entity.aj:
privileged aspect News_Roo_Entity {
....
public static List<News> News.findAllNews() {
return entityManager().createQuery("SELECT o FROM News o", News.class).getResultList();
}
}
News_Roo_JavaBean.aj:
privileged aspect News_Roo_JavaBean {
public String News.getCategory()
{
return this.category; // it's working 100%
}
... other get() methods
}
解决
我在我的项目中禁用了Roo(成为一个简单的Spring)但没有结果......
[平凡]问题是: 我的view.jsp有标题:
<%@page contentType="text/html;charset=UTF-8" language="java" %>
<%@page isELIgnored="false" %>
<div xmlns:jsp="http://java.sun.com/JSP/Page" xmlns:c="http://java.sun.com/jsp/jstl/core" xmlns:page="urn:jsptagdir:/WEB-INF/tags/form" xmlns:field="urn:jsptagdir:/WEB-INF/tags/form/fields" xmlns:table="urn:jsptagdir:/WEB-INF/tags/form/fields" version="2.0">
....
</div>
已移除
<div xmlns:jsp= .... >
取而代之的是一个简单的:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO- 8859-1" isELIgnored="false" %>
可能只是来自.jspx文件的复制和粘贴以及xmlns和taglib的混合......
感谢您的建议!
答案 0 :(得分:0)
它应该如何轻松地尝试:${someitem.category}
将打印方法toString()
返回的对象的News.getCategory()
的结果。
您所解决的行为看起来像getCategory()
返回null
(或者更不可能:toString()
方法返回空字符串)