提前感谢您花时间阅读!
我正在使用NetBeans IDE 7.1上的Web应用程序,在Windows 7上使用Struts 1.3.10,Apache Tomcat 7.0.22,PostgreSQL 9.1。
我的问题如下:
我有一个名为" Reminder"的类,它的属性是:startDate,endDate和id。我希望从我的jsp中的所有提醒中获取所有开始和结束日期,以便我可以在我的Web应用程序的侧边栏的日历上突出显示这一天的日期。
在我的登录操作中,我有以下代码:
Reminder reminder = new Reminder();
ArrayList<Reminder> queryResults =
dbms.queryReminders(reminder);
在这里,我收集了数据库中的所有提醒(模型函数只是从提醒中执行SELECT *并返回)
然后我结束了:
request.setAttribute("reminders",queryResults);
return mapping.findForward(User);
我已将收集的结果设置为我决定调用的属性&#34;提醒&#34;,这应该包含我想要的所有提醒。
之后我从这个视图中获取数据:
<bean:write name="reminders" scope="request"/>
但我得到的是:[classes.Reminder@1d1ce11](在这种情况下,我只在数据库中插入了一个提醒。我在我的包中有一个名为Reminder的类叫做类,所以我认为& #39; s引用类Reminder的对象(我在DB上插入的对象))。
但我想要做的是能够从该对象获取startDate和endDate,而不仅仅是那样的对象。有谁知道如何从jsp访问这些属性?
我已经做了很多研究,但通常教程会告诉你如何使用这些bean标签获取类的属性,但是这里我有一个特定类的对象数组,我想要它们的属性,所以情况有所不同。
我真的很感激一些指导。谢谢!
答案 0 :(得分:2)
那是因为您在请求中将List
(类型为ArrayList
)存储在以下代码中:
request.setAttribute("reminders",queryResults);
因此,为了从Reminder
获取每个List
,您需要遍历列表(在JSP中)。
要遍历集合,您将使用<logic:iterate>
标记:
<logic:iterate name="reminders" id="reminder" scope="request">
ID: <bean:write name="reminder" property="id" />
Start Date: <bean:write name="reminder" property="startDate" />
End Date: <bean:write name="reminder" property="endDate" />
</logic:iterate>