为要分配给bean字段的操作配置请求参数

我正在使用www.datatables.net 。 JS框架在表中显示数据。 它具有服务器模式,并在此模式下发送大量参数。

示例: sortColumnsortType(asc,desc) ,filter值, pagenumitemsonpage等。

所以我在行动中处理它。 我分配给每个请求param字段在行动,它工作正常。

但现在我有几张桌子。 所以我必须采取不同的行动,但要求参数相同,并且有很多。 将粘贴代码从一个操作复制到另一个操作不是一个好主意。

所以我确实实现了一个DatatableParamBean ,它包含了正常工作所需的所有参数。

问题是,params以这种方式发送iSortColumniSortColumniTotalItems等等,但我需要将它们分配给bean字段。

 bean.iSortColumn, bean.iDisplayTotalLength and so on. 

考虑到DatatableParamBean在我的动作类中引用为’bean’;

如果有办法覆盖分配请求参数值的默认机制? 我现在找到的唯一解决方案是创建一个带有所有这些参数的动作说DatatableAction类,如果我需要处理dataatble,使用从DatatableAction扩展来创建一个新动作

这是将bean关联或聚合到操作类的常用方法。 可以通过具有属性访问器的名称直接使用操作类属性。 通过指定适当的OGNL表达式(该属性的路径) ,可以通过OGNL访问嵌套bean属性。 假设所有属性访问器都没有对bean的null引用。 这可以通过向属性提供相应的getter和setter以及在必要时初始化bean引用来实现。 因此, bean.iSortColumnbean.iDisplayTotalLength是用于设置/获取bean属性的有效OGNL表达式。 但是你需要在动作中初始化它。 喜欢这个

 private Bean bean = new Bean(); public Bean getBean() { return bean; } 

参考文献:

  • 要熟悉OGNL的工作原理,您可以阅读OGNL基础知识 。
  • 基础OGNL参考,包括OGNL语言指南的链接。