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