2014-03-19 35 views
0

我刚刚开始在一个项目中实现搜索模块,在这个项目中,我有一个包含组合框,文本框,单选按钮等固定字段的窗体(在多个标签中大约有200个字段),后来客户端应该能够添加额外的领域也是。一旦用户填写了他想要搜索的字段,该搜索条件也应该能够保存。出于所有这些原因,对于每个字段,我都使用以下格式来关联元数据。如何处理在FROM和TO字段的表单中处理自定义字段的搜索?

“EntityName.attributeName”:的AttributeValue

一旦用户填写表单字段搜索,我要验证表单数据,只有非我JSON格式发送到服务器空字段的元数据。一切都很好,直到现在。但我现在面临一个问题。

使用每个字段的元数据我将为每个字段创建一个新的标准。但是如果有一个字段元数据依赖于其他字段元数据的字段,我很震惊。

在窗体我有以下几个格式类特殊领域:比如出生日期,

FROM DATE(元数据:entity1.dob) 更新(元数据:entity1.dob)

  • 这两个领域属于在UI同一实体和相同的列单场名称不同

喜欢我有大约20场,询问对FROM和TO查询范围(它不需要对日期,例如没有可以是整数,字符串等)

根据用户搜索条件,我的查询格式应该按照以下方式。如果用户只输入了病床数量的FROM字段,那么我必须在sql中使用EQUAL操作符进行查询,如果两者都提到了MORETHANEQUAL,那么对于FROM字段和LESSTHANEQUAL对于字段。那么我如何处理这个特殊情况呢?

就好像他在床位房间数量的TO字段中输入了4个字段的数量,那么我必须查询房间的床位数等于4的房屋。但是如果在FROM中他输入了3,输入7后,我必须查询有大于或等于3个卧室,小于或等于7个卧室的房屋。

由于我对这些类别字段具有相同的元数据,所以我无法继续,为实现此目的,需要准备什么样的元数据?

我怎么能概括这个过程来处理所有的情况?

  • 我的技术堆栈:ExtJs,Eclipse Link,spring。

  • 以及支持自定义字段在企业应用程序的表单中添加功能的最佳做法是什么?

回答

0

关闭我的头顶,我会为这些特殊情况创建向导。例如,有一个自定义向导,允许用户在一个动作中定义“from”字段,“to”字段,然后是比较运算符。该向导还可以负责将自定义属性添加到可供您的验证例程使用的生成字段中。因此,基于from,to和operator的组合,您可以创建一个灵活的验证机制,以确保输入正确的值,范围正确无论如何。

事实上,对于所有自定义字段,您可能会考虑这种“向导”方法。我可以看到你预先定义了可以使用的所有可能的自定义字段类型,并创建可用于这些类的类。这些类不仅可以负责创建字段,还可以负责提供任何自定义验证,预提交转换等。这种方法会使添加新的自定义字段类型变得非常简单,因为您所要做的就是遵循相同的作为其他已有的实现,扩展现有的实现等。

+0

感谢您的回答。请你详细说明一下,我对奇才的概念很陌生,如果可能的话,可以提出任何其他方法 – user3131769

相关问题