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
相關問題