- - PR -
Strutsタグを用いたページ切換えについて
1|2|3
次のページへ»
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-01-28 14:01
現在Strutsタグを用いたDB検索フォームの、ページ切換え機能について勉強中であり、
NEXTページの動的な遷移の方法について分からず悩んでおります。 ソースを以下に記載します。 ************************************************************************* <html:form method="post" action="managerMemberSearch"> <html:submit property="fifthSearch">検索(5件表示) </html:submit> </html:form> ************************************************************************** <logic:iterate name="managerMemberForm" id="member" property="resultList" length="5"> <html:form method="post" action="managerMemberSearch"> <logic:iterate name="managerMemberForm" id="member" property="resultList" offset="5" length="5"> <html:submit property="next">次へ</html:submit> </logic:iterate> </html:form> </logic:iterate> ************************************************************************** 上記のプログラムにて、初回のみNEXTページの参照は可能ですが、 (当然ですが)その次のページへ遷移できません。 次のページへ遷移した情報を保持して、更に次のページ、次の・・・と、 DBからデータを読み取るようなことは可能でしょうか。 その手法をご教授いただきたく、投稿させていただきました。 宜しくお願い致します。 | ||||||||
|
投稿日時: 2004-01-28 19:14
可能です。Struts ではないサンプルなら検索するといろいろ見つかるので、 それを Struts に応用するよろし。(もしかしたら Struts のサンプルも あるかもしれません)。 | ||||||||
|
投稿日時: 2004-01-28 19:40
わからないのは Action クラスでの処理でしょうか?
それとも SQL の書き方でしょうか? Action クラスでは、現在のページ数から次のページで表示する開始行数、終了行数を計算します。 SQLは、Oracle なら rownum 、PostgreSQL なら offset/limit を使います。 DB2/MySQL は知りません。 | ||||||||
|
投稿日時: 2004-01-28 20:16
ご返信ありがとうございます。
>可能です。Struts ではないサンプルなら検索するといろいろ見つかるので、 >それを Struts に応用するよろし。(もしかしたら Struts のサンプルも >あるかもしれません)。 勉強します。 >わからないのは Action クラスでの処理でしょうか? >それとも SQL の書き方でしょうか? どちらでもないかもです。 JSPで、Strutsタグを動的に操り上記のようなプログラムを作成しようとしております。 property="resultList"のデータからページ毎に欲しいところだけ取得するか、 offset="5" をページ毎に動的に操作するかだと思いますが、その手法について 悩んでいます。 >それとも SQL の書き方でしょうか? DBの方から毎回データを引っ張ると、動作速度に影響が出そうなので 今回は導入しません。 | ||||||||
|
投稿日時: 2004-01-29 10:23
便乗で質問させてください。
私も同じ事で、どのように実装したものか悩んでいます。 ・全データ(コレクション)をセッションに保持 ・現在のページ数をセッションに保持 という方法で出来るだろうと思っています。ですが、offset="?"の部分を 動的に変更しなければならず、そこはどのようにすれば良いのか悩んでいます。 <logic:iterate name="managerMemberForm" id="member" property="resultList" offset="<bean:write name="page" property="row"/>" length="5"> というように、タグの中にタグって埋め込めないですよね?そこで悩んでいま す。 | ||||||||
|
投稿日時: 2004-01-29 11:00
私のやり方は、セッションに格納したリストとページ番号から次に表示すべきデータを取り出してリストにして、JSP に渡す、という方法です。JSP は 「渡されたリストのどこからどこまで表示」ではなく 「渡されたリストを表示」になります。
メモリは大丈夫ですよね?メモリと速度のトレードオフですよ。 | ||||||||
|
投稿日時: 2004-01-29 11:09
さやべえです。
<code> <logic:iterate name="managerMemberForm" id="member" property="resultList" offset="5" length="5"> </code> 私は、タグのなかに動的に値を入れる時には、 <code> <logic:iterate name="managerMemberForm" id="member" property="resultList" offset='<%= hogehoge %>' length="5"> </code> とやっております。シングルクォートで囲むところがミソです。 これでFormBeanの値やSession等の値をつっこむことができます。 | ||||||||
|
投稿日時: 2004-01-29 11:20
ばんさん、さやべえさん、ありがとうございます。
>ばんさん なるほど、その手がありましたね。Actionでコレクションから表示する部分だけを 切り出して、別オブジェクトでセッションに保存しておくんですね。なるほどー。 >さやべえさん なるほど。やはりスクリプトレットを一切書かずに、というのは無理なんですね。 Strutsの入門書の一部をちょっと読んだ程度の知識しかないのですが、出来るだけ タグだけでやった方が良い、と書いてあったものですから悩んでました。 >ひろさん レス乗っ取りみたいですいません。私の質問は解決いたしました。ありがとうご ざいました。 |
1|2|3
次のページへ»