现我已实现了可拦截所有action,但我并不想所有的action都被拦截,或者说我想某个action中的某个方法不被拦截,
如何实现呢?比如,我有个action,示例代码如下:
public class UserAction extends ActionSupport {
public String login() throws Exception{
//.....登录
ActionContext.getContext().getSession().put("user", user);//通过user判断是否登录
return SUCCESS;
}
public String other() throws Exception {
//.....其它
return SUCCESS;
}
}
当执行login方法时,不要拦截,当other时,才拦截,现在我是两个都拦截的,怎么办呢?
ActionContext.getContext().getSession().put("user", user);只在login中设置,而这也被拦截了,
那拦截器中的user不是永远为空的了?即永远登录不了了,可能我理解拦截器有偏差,请高人请教下吧,谢了!
如何实现呢?比如,我有个action,示例代码如下:
public class UserAction extends ActionSupport {
public String login() throws Exception{
//.....登录
ActionContext.getContext().getSession().put("user", user);//通过user判断是否登录
return SUCCESS;
}
public String other() throws Exception {
//.....其它
return SUCCESS;
}
}
当执行login方法时,不要拦截,当other时,才拦截,现在我是两个都拦截的,怎么办呢?
ActionContext.getContext().getSession().put("user", user);只在login中设置,而这也被拦截了,
那拦截器中的user不是永远为空的了?即永远登录不了了,可能我理解拦截器有偏差,请高人请教下吧,谢了!
解决方案 »
- 求教:小弟使用 iBATIS 访问DB2的存储过程,对带有输出参数的总是不成功
- 谁知道Yahoo搜索的URL是什么编码吗??
- 用MyEclipse开发EJB???
- java.net.ConnectException: Connection refused
- 看到那个“N星以上才能进入...”的帖子,忽然想起了当年的migthline(交大的Hejlsberg)
- 关于正版weblogic用户数的问题
- 请问一下forward和sendRedirect有什么区别吗?
- EJB的书有哪些比较好的?
- 公司要做一个政府的网站!需要用lunix!希望大家帮忙啊
- java下有没有类似C++的STL的东东
- MappingException: Resource not found
- jdbc调用存储过程clob参数类型错误
例如url指定:....?method=login。是这样的话就先得到url中method的值,如果是login的话就在拦截器中做个判断跳过不拦截。
关键是你怎样指定执行哪个action方法,就在哪里做判断。
在struts.xml中
定义拦截器
<action >
<interceptor-ref name=定义拦截器>
定义不被拦截的方法
<param name="excludeMethods">login</param>
定义被拦截的方法
<param name="includeMethods">other</param>
</action>