アプリの仕様
- 店舗情報の一覧を表示するアプリ
- ログイン後、検索ページが表示される。
- 検索ページではキーワード検索ができる。
- 表示件数を10件、50件、100件から選択できる。
- ページにおさまりきらない部分は「次のページ」をクリックすると表示される。
- 各店舗は、OPENとCLOSEDのステータスを持っていて、その集計が表示される。
- 全店舗のリストはDBへのクエリが頻発することを防ぐため、1度取得後はセッション上に保持する。
画面のイメージ
初期表示
Shop3というキーワードで検索時
クラスの構成
主なクラスは下記の通り。
FrontController : JSPとActionの仲介を行う。
Login.Action : IDとパスワードを受け取って、セッションを作成する。(本コードではどんなIDとパスワードでもログイン可)
ProduceSearchViewAction : 検索画面の表示に必要な情報を取得する。
SearchAction : 入力されたキーワードに対して、店舗リストの絞り込みを行う。
処理の流れと主要な変数の変化
主な用語の説明
セッション : セッションスコープの変数群
リクエスト : リクエストスコープの変数群
shopList : DBから取得した全店舗リスト。
filteredShopList : shopListから検索キーワードで絞り込んだ結果の店舗リスト。キーワード指定が無ければ、全店舗リストとなる。
displayLimit : 画面1ページに表示する店舗一覧の上限件数。
keywordHistory : 前回入力された検索キーワード。(検索ボタンを押した後でも、検索ボックスにキーワードを保持するのに使う。)
- ログイン処理から初期ページ表示の流れ
- 次ページクリック
- 表示件数変更時の処理の流れ
- 検索ボタンクリック時の処理の流れ