プロが教える店舗&オフィスのセキュリティ対策術

Strutsでページネーションを実現するには

お世話になります。
現在、私はStrutsを使って業務アプリケーションの開発を行っています。
現在作成しているページにページネーション(出力する情報の件数が多い場合に、次のページ、前のページ、最初のページ、最後のページなどのリンクを付けること)を付けたいが、やり方が分からずに困っています。

現在作成しているページには、従業員を検索するために各種検索条件を入力するフォームがあり、送信ボタンを押すとActionクラスが呼び出され、Actionクラスの中で従業員の検索が行われ、結果が画面に帰ってきます。

しかし、ページネーション用のリンクを作ってそのリンクをクリックしたとしても、フォームの送信ボタンを押す訳ではないので、従業員の検索が行われる訳ではありません。

行いたいのは、フォームに入力した検索条件を常に反映した結果の従業員のリストをページネーションしたいということです。

何か良い方法はないでしょうか。皆様の知恵をお貸しください。よろしくお願い致します。

A 回答 (3件)

ページ遷移のためのリンクに、getパラメタで条件を付ければ良いかと思います。



<a href="/HogeAction?page=1&条件A=hoge&条件B=fuga...">1</a>
<a href="/HogeAction?page=2&条件A=hoge&条件B=fuga...">2</a>
....

gooで検索してみましたが、こちらもそんな感じでやってます。
例:"hoge"で検索した場合のページング(2ページ目へ)
http://search.goo.ne.jp/web.jsp?STYPE=web&MT=hog …
    • good
    • 0
この回答へのお礼

ありがとうございます!
getパラメタを使うという手がありましたね。
ただ、本来はフォームで入力すべき条件パラメータを、リンクにgetパラメタとして指定する(そのための処理をActionクラスで実装する)というのがなんだか冗長な気もします。検索条件の数も多いので・・・。

もっとスマートな手段があれば良いのですが・・・。

お礼日時:2010/07/12 23:13

No.2のものです。



ちなみに、実装する際はJSPに上にずらずら記述するのではなく、
ページング用のカスタムタグや、タグファイルを作成して、色んなページで共通で使用できるようにしています。
    • good
    • 0

PCサイトに限定するなら、Javascript でリンククリック時に、form サブミットも可能かと思います。


ただ、携帯サイトでは、Javascript が使えなかったりするのでこの方法では難しいですね。

私もページングは、 get パラメタで実装しています。
    • good
    • 0
この回答へのお礼

ありがとうございます。
javascriptでフォームのサブミットができるとは知りませんでした。
試してみたいと思います。

お礼日時:2010/07/16 20:30

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!