实现拦截器——自定义拦截器(下篇)
?
<global-results> <result name="error">页面</result></global-results><global-exception-mappings> <exception-mapping exception="异常类型" result="error"><global-exception-mappings>
?
<action name="index" name="code">package lele.struts2.interceptor;public interface MyModelDriven<T> { T getModel();}
?
?
package lele.struts2.interceptor;import com.opensymphony.xwork2.ActionInvocation;import com.opensymphony.xwork2.interceptor.AbstractInterceptor;import com.opensymphony.xwork2.util.ValueStack;public class MyModelDrivenInterceptor extends AbstractInterceptor {@Overridepublic String intercept(ActionInvocation invocation) throws Exception {Object action = invocation.getAction();if (action instanceof MyModelDriven) {if (null != ((MyModelDriven) action).getModel()) {Object obj = ((MyModelDriven) action).getModel();ValueStack vs = invocation.getStack();vs.push(obj);}}return invocation.invoke();}}?
?
?
?? ? ? PS:大家可以联系我
Mail: wanglehappy9112@gmail.com
MSN:wang4717@live.cm
QQ: ?471776739
?
1 楼 隐藏起来 2010-11-07 用了拦截器,但是吧xxx.action?a=123后面的那个?a=123参数都拦截掉了,怎么处理?还请给点建议。谢谢 2 楼 wang4717 2010-11-08 隐藏起来 写道用了拦截器,但是吧xxx.action?a=123
后面的那个?a=123参数都拦截掉了,怎么处理?还请给点建议。谢谢
在使用自定义拦截器时,要注意拦截器配置的顺序和拦截器的搭配使用。您是要先获得参数,然后再使用自己的拦截器进行相关处理对吧? 那您就要把 拦截器-params 设置到自定义拦截器之前,让params优先拦截参数,将参数拦截到了然后再进行自己的处理,这样就能得到参数了。不知能否解决问题? 3 楼 隐藏起来 2010-11-08 paramswang4717 写道隐藏起来 写道用了拦截器,但是吧xxx.action?a=123
后面的那个?a=123参数都拦截掉了,怎么处理?还请给点建议。谢谢
在使用自定义拦截器时,要注意拦截器配置的顺序和拦截器的搭配使用。您是要先获得参数,然后再使用自己的拦截器进行相关处理对吧? 那您就要把 拦截器-params 设置到自定义拦截器之前,让params优先拦截参数,将参数拦截到了然后再进行自己的处理,这样就能得到参数了。不知能否解决问题?
非常感谢,原来是我在引用的时候顺序不当!谢谢 4 楼 wang4717 2010-11-08 隐藏起来 写道paramswang4717 写道隐藏起来 写道用了拦截器,但是吧xxx.action?a=123
后面的那个?a=123参数都拦截掉了,怎么处理?还请给点建议。谢谢
在使用自定义拦截器时,要注意拦截器配置的顺序和拦截器的搭配使用。您是要先获得参数,然后再使用自己的拦截器进行相关处理对吧? 那您就要把 拦截器-params 设置到自定义拦截器之前,让params优先拦截参数,将参数拦截到了然后再进行自己的处理,这样就能得到参数了。不知能否解决问题?
非常感谢,原来是我在引用的时候顺序不当!谢谢
客气,有帮助就好。