Webサイト(Struts 2で作成)の高度な検索モジュールを実現しました。この検索領域は、さまざまなフィールドを持つフォームです。選択に応じて異なる結果を得るフィールドのすべて、一部、またはまったく文字列を入れることができます。私が今していることは、空白のフィールド(およびどれ)があるかどうかを大きな悪いif / elseifステートメントで確認してから、正しい方法を適用することです。
例
if (field_1.equals("") && field_2.equals("")) {
dao.searchAll;
} else if (field_1.equals("") && !field_2.equals("")) {
dao.searchType1;
} else if (!field_1.equals("") && !field_2.equals("")) {
dao.searchType2;
} else if {
...
...
daoのメソッドはHQL(休止状態)クエリです。
この例は、5つのテキスト入力フィールドがある私の場合よりも単純です。
同じことを行うためのより良い柔軟な方法はありますか?ストラテジーのようなデザインパターン?