日期:2014-05-17  浏览次数:20675 次

struts2拦截器里能不能直接获取一个实体类对象,就像action里一样?
我想在struts2拦截器里像在action里一样,直接将传过来的参数获取到一个实体类对象里。
比如传过来的有userpo.user_name,userpo.user_pwd,我想直接在拦截器里获取到一个userpo对象里,而不是获取request,然后获取参数一个一个的取。
不知道这样能不能实现?
------解决方案--------------------
action 是因为实现了 ModelDriven,才能直接将传过来的参数获取到一个实体类对象。
filter 实现了 ModelDriven,是否也能像 action 那样直接将传过来的参数获取到一个实体类对象,楼主可以自己动手去验证一下。
但是这样意义又何在呢?除了让你少敲几行代码,实在看不出还有其他好处。
------解决方案--------------------
在params拦截器里实现的,
代码就是jacarrichan提到的 com.opensymphony.xwork2.interceptor.ParametersInterceptor,
理论上你可以在这个拦截器之后的所有地方直接获得对象