我实现了一个网站的高级搜索模块(在 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 个文本输入字段的例子更简单。
有更好更灵活的方法来做同样的事情吗?一些设计模式,比如策略?