0
我想通过一个棘手的问题JSTL排序的财产,希望能得到一些帮助,...JSP/JSTL解析ArrayList的传递对象
我传递一个表格对象从Spring MVC的控制器到JSP使用ModelAndView,表格对象具有一个Row对象的ArrayList,而每个对象都有一个Field对象的ArrayList。
我在控制器中填充Table对象以显示在jsp页面上,我试图弄清楚如何通过Arraylists解析来生成使用JSTL的html表格。
所以,作为一个出发点,看着表对象...
使用Spring MVC 3.0
型号:
public class Table {
private String id;
private ArrayList<Row> rows;
public String getId() {
return id;
}
public ArrayList<Row> getRows() {
return rows;
}
public void setRows(ArrayList<Row> rows) {
this.rows = rows;
}
控制器:
Table table = new Table();
ArrayList<Row> rows = new ArrayList<Row>();
ArrayList<Field> fields = new ArrayList<Field>();
fields.add(new Field("0","test0"));
fields.add(new Field("1","test1"));
fields.add(new Field("2","test2"));
Row row = new Row();
row.setPKValue("testPK");
row.setFields(fields);
rows.add(row);
table.setRows(rows);
table.setId("test");
ModelAndView mav = new ModelAndView();
mav.addObject("table",table);
mav.setViewName("healthcenter/report");
return mav;
JSP文件:
<c:forEach var="row" items="${table.rows}">
${row.PKValue}
</c:forEach>
这不会产生任何输出,我期待输出行PKValue属性,不知道问题出在哪里,任何见解都会很棒!
JSTL对我来说看起来不错,但是你的例子已经过于简化了,所以很难说清楚。你有没有检查你的MaV对象是通过添加一个测试字符串来传递的? $ {table.id}是否输出预期的“测试”值?您是否在HTML中获得空的
回答
假设上的方法是
getPKValue
,那么你需要参考它在JSP作为pKValue
,不PKValue
,即这是该属性的可怜的名字,不过,它看起来令人困惑。我建议将它重新命名为更传统的东西,例如
getId
(即${row.id}
)或getKey
(即${row.key}
)。来源
2011-11-16 22:24:51 skaffman
相关问题