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