2012-03-08 7 views
0

読み込みに時間がかかることを事前に感謝します!Struts:ビューからのBean属性へのアクセス

:私はWindows上でのStruts 1.3.10、Apache Tomcatの7.0.22、PostgreSQLの9.1で、NetBeans IDEの7.1上のWebアプリケーションに取り組んでい

は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]](この場合、私は、データベース内の1つのリマインダをのみ挿入されています私のパッケージにはクラスと呼ばれるクラスがありますので、Reminderクラスのオブジェクト(DBに挿入したもの)を参照していると思います)。

しかし、私がしたいのは、そのようなオブジェクトだけでなく、そのオブジェクトからstartDateとendDateを取得できることです。誰もがJSPからこれらのプロパティにアクセスする方法を知っていますか?

私は多くの研究を行ってきましたが、通常、このチュートリアルでは、これらのBeanタグでクラスのプロパティを取得する方法を示していますが、ここでは特定のクラスのオブジェクトの配列があり、だから事柄は違う。

私は本当にいくつかのガイダンスに感謝します。ありがとうございました!

答えて

2

次のコード上の要求に(タイプArrayListの)Listを格納しているためです。

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

+1

助けてくれてうれしいです。 :-) –

関連する問題