2012-03-08 95 views
0

在此先感謝您花時間閱讀!Struts:從視圖中訪問bean屬性

我在Windows工作在NetBeans IDE的7.1 Web應用程序,使用Struts 1.3.10,Apache Tomcat上7.0.22,PostgreSQL的9.1 7.

我的問題是:

我有一個名爲「提醒」的類,它的屬性是:startDate,endDate和id。我想從jsp中的所有提醒中獲取所有開始日期和結束日期,以便我可以在我的Web應用程序的側欄上的日曆中突出顯示這些天數。

在我的登錄操作,我有以下代碼:

Reminder reminder = new Reminder(); 
ArrayList<Reminder> queryResults = 
dbms.queryReminders(reminder); 

這裏,我已經收集了所有的提醒從數據庫(該模型的功能從簡單的提醒做一個SELECT *,並返回)

然後我完成與:

request.setAttribute("reminders",queryResults); 
return mapping.findForward(User); 

在這裏,我設置的收集結果的屬性,我決定打電話「提醒」,這應該有我想要的提醒。

後來我得到的數據從視圖中是這樣的:

<bean:write name="reminders" scope="request"/> 

但我得到的是這樣的:[[email protected]](在這種情況下,我只在數據庫中插入一個提醒另外我在我的包中有一個名爲Reminder的類,所以我認爲它指的是類Reminder(我在DB上插入的那個)的對象)。

但我想要做的是能夠從該對象獲取startDate和endDate,而不僅僅是像那樣的對象。有誰知道如何從jsp訪問這些屬性?

我已經做了大量的研究,但通常教程向您展示的是使用這些bean標籤獲取類的屬性的方法,但在這裏我有一個特定類的對象數組,並且我希望它們的屬性,所以事情是不同的。

我真的很感激一些指導。謝謝!

回答

2

那是因爲你存儲在List(的ArrayList型)請求以下代碼:

request.setAttribute("reminders",queryResults); 

因此,爲了從List獲取每個Reminder,您將需要通過列表迭代(在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> 
+0

是!!!!它完美無瑕!謝謝soooooo多!!!! – AndresR 2012-03-08 15:09:36

+1

很高興有幫助。 :-) – 2012-03-08 15:23:53