Jsp 视图列表或单个对象的公用页

Jsp 视图列表或单个对象的公用页,jsp,servlets,jstl,Jsp,Servlets,Jstl,我想编写用于查看数据列表或单个对象的公共页面 在控制器中: ArrayList<Table> tables; request.setAttribute("tables", tables); 没有显示任何东西 然后我试着传球 Table tables; request.setAttribute("tables", tables); 我有错误 Don't know how to iterate over supplied "items" in &lt;forEach&

我想编写用于查看数据列表或单个对象的公共页面

在控制器中:

ArrayList<Table> tables;
request.setAttribute("tables", tables);
没有显示任何东西

然后我试着传球

Table tables;
request.setAttribute("tables", tables);
我有错误

Don't know how to iterate over supplied "items" in &lt;forEach&gt;
这是一个非常简单的示例,我的应用程序必须查看此对象的大量数据,并使用相同的代码创建两个类似的页面,这很愚蠢。
如何解决这个问题?将此单个对象添加到列表中,或者有其他解决方案?

您似乎希望传递单个元素而不是列表。解决这个问题的一种方法是用单个元素构建一个列表并传递它。使用以下命令创建仅包含一个元素的列表

List<Table> tables = Collections.singletonList(table);
List tables=Collections.singletonList(表);

您似乎希望传递单个元素而不是列表。解决这个问题的一种方法是用单个元素构建一个列表并传递它。使用以下命令创建仅包含一个元素的列表

List<Table> tables = Collections.singletonList(table);
List tables=Collections.singletonList(表);

这是因为jstl
forEach
标记需要一个列表,而您正在传递一个对象。 尝试传递一个单元素列表:

Table table;
ArrayList<Table> tables=new ArrayList<Table>();
tables.add(table)
request.setAttribute("tables", tables);
表格;
ArrayList tables=新的ArrayList();
表。添加(表)
setAttribute(“表格”,表格);

这是因为jstl
forEach
标记需要一个列表,而您正在传递一个对象。 尝试传递一个单元素列表:

Table table;
ArrayList<Table> tables=new ArrayList<Table>();
tables.add(table)
request.setAttribute("tables", tables);
表格;
ArrayList tables=新的ArrayList();
表。添加(表)
setAttribute(“表格”,表格);

您应该将单个“table”对象添加到列表中。您应该将单个“table”对象添加到列表中。谢谢您的回答,但我将以Harry Joy为例。@Viachaslau确实,我也会这样做。它比我的干净多了:)谢谢你的回答,但我会以哈利·乔伊为榜样。@Viachaslau的确,我也会。它比我的干净多了:)