为要分配给bean字段的操作配置请求参数
我正在使用www.datatables.net
。 JS框架在表中显示数据。 它具有服务器模式,并在此模式下发送大量参数。
示例: sortColumn
, sortType(asc,desc)
,filter值, pagenum
, itemsonpage
等。
所以我在行动中处理它。 我分配给每个请求param字段在行动,它工作正常。
但现在我有几张桌子。 所以我必须采取不同的行动,但要求参数相同,并且有很多。 将粘贴代码从一个操作复制到另一个操作不是一个好主意。
所以我确实实现了一个DatatableParamBean
,它包含了正常工作所需的所有参数。
问题是,params以这种方式发送iSortColumn
, iSortColumn
, iTotalItems
等等,但我需要将它们分配给bean字段。
bean.iSortColumn, bean.iDisplayTotalLength and so on.
考虑到DatatableParamBean
在我的动作类中引用为’bean’;
如果有办法覆盖分配请求参数值的默认机制? 我现在找到的唯一解决方案是创建一个带有所有这些参数的动作说DatatableAction
类,如果我需要处理dataatble,使用从DatatableAction
扩展来创建一个新动作
这是将bean关联或聚合到操作类的常用方法。 可以通过具有属性访问器的名称直接使用操作类属性。 通过指定适当的OGNL表达式(该属性的路径) ,可以通过OGNL访问嵌套bean属性。 假设所有属性访问器都没有对bean的null
引用。 这可以通过向属性提供相应的getter和setter以及在必要时初始化bean引用来实现。 因此, bean.iSortColumn
, bean.iDisplayTotalLength
是用于设置/获取bean
属性的有效OGNL表达式。 但是你需要在动作中初始化它。 喜欢这个
private Bean bean = new Bean(); public Bean getBean() { return bean; }
参考文献:
- 要熟悉OGNL的工作原理,您可以阅读OGNL基础知识 。
- 基础OGNL参考,包括OGNL语言指南的链接。