在Struts2的demo项目中添加了一个简单的拦截器,突然发现,Action中取不到页面的参数了

这也是很蛋疼的事情,还好这个比较简单,稍微一查就发现问题:

Struts2中很多的功能是用拦截器实现的,比如:取得表单参数,文件上传,异常处理等

Struts2会默认调用默认的拦截器,默认拦截器配置在struts-default.xml中可以查看

如果在配置文件中加入了自定义的拦截器,那默认的拦截器就不会起作用,在Action中就不能取得表单的参数

这个时候,就需要显试的调用默认的拦截器(defaultStack)

配置如下:

<action name="LoginAction" method="login" class="com.venn.action.LoginAction">
<result>/jsp/success.jsp</result>
<result name="input">/jsp/login.jsp</result>

  <interceptor-ref name="defaultStack"/>  <!--注意顺序,先调用默认的拦截器-->
  <interceptor-ref name="myDefault"/>
</action>

也可以使用拦截器栈:

<struts>

<package name="default" namespace="/" extends="struts-default">

<!-- login interceptor -->
<interceptors>
    <interceptor name="timerInterceptor" class="com.venn.interceptor.TimerInterceptor"></interceptor>
    <interceptor-stack name="myDefault">
      <interceptor-ref name="defaultStack"/>
      <interceptor-ref name="timerInterceptor"/>
    </interceptor-stack>
</interceptors>
<default-action-ref name="index"></default-action-ref>
<action name="index">
<result>/jsp/error.jsp</result>
</action>
<action name="LoginAction" method="login" class="com.venn.action.LoginAction">
<result>/jsp/success.jsp</result>
<result name="input">/jsp/login.jsp</result>
<interceptor-ref name="myDefault"/>
</action>
</package>
</struts>

Struts加入拦截器后取不到页面参数的更多相关文章

  1. Struts的拦截器

    Struts的拦截器 1.什么是拦截器 Struts的拦截器和Servlet过滤器类似,在执行Action的execute方法之前,Struts会首先执行Struts.xml中引用的拦截器,在执行完所 ...

  2. Struts 2 拦截器

    什么是Struts 2 拦截器  拦截器就是当用户请求后台Action类时在Action的Excute()方法执行前和Result返回魔板试图之后(将页面(数据)发送给浏览器渲染之前)所需要的一些通用 ...

  3. java框架篇---struts实现拦截器

    Struts2的拦截器和Servlet过滤器类似.在执行Action的execute方法之前,Struts2会首先执行在struts.xml中引用的拦截器,在执行完所有引用的拦截器的intercept ...

  4. struts自定义拦截器实现

    示例 添加新功能:只有是登录的状态访问hello_loginSuccess才会显示登录成功. index.jsp登录成功页面 test.jsp登录页面 一.修改原代码实现 1.登录后将登录信息添加到S ...

  5. struts 用拦截器进行用户权限隔离,未登录用户跳到登录界面 *** 最爱那水货

    一般,我们的web应用都是只有在用户登录之后才允许操作的,也就是说我们不允许非登录认证的用户直接访问某些页面或功能菜单项.对于个别页面来说,可能不需要进行拦截,此时,如果项目采用struts view ...

  6. 自己打断点走的struts流程&拦截器工作原理

    ①. 请求发送给 StrutsPrepareAndExecuteFilter ②. StrutsPrepareAndExecuteFilter 判定该请求是否是一个 Struts2 请 求(Actio ...

  7. struts自定义拦截器配置

    配置自己的拦截器可以先参照下系统的拦截器是怎么配置的,首先打开struts-default.xml搜索下interceptor:系统里的拦截器有很多,拦截器都是放在堆栈里的,系统引用的是默认堆栈, & ...

  8. struts自定义拦截器

    第01步:配置web.xml,启动struts框架 <?xml version="1.0" encoding="UTF-8"?> <web-a ...

  9. struts中拦截器的开发

    1.开发Interceptor类 用户自定义的拦截器一般需要继承AbstractInterceptor类,重写intercept方法 public class UserInterceptor exte ...

随机推荐

  1. CodeForces 701C They Are Everywhere(map的应用)

    这个题比较好的解决办法,我觉得还是map,map的size可以很快的知道我们选了几个字母,而且可以作为计数器,知道每一个字母出现了多少次, erase函数可以清除掉一个元素. 所以,定义两个指针L和R ...

  2. CodeForces 670 A. Holidays(模拟)

    Description On the planet Mars a year lasts exactly n days (there are no leap years on Mars). But Ma ...

  3. 查看UDP连接情况

    运行界面,输入"CMD"命令; 在命令提示符界面中,输入"netstat -s -p udp"命令,按回车.即可显示本机所有UDP连接情况.

  4. Effective C++笔记之Item49【了解new-handler的行为】

    //---------------------------------------------------------// //------------------------------------ ...

  5. 提升html5的性能体验系列之五webview启动速度优化及事件顺序解析]

    webview加载时有3个事件.触发顺序为loading.titleUpdate.loaded.webview开始载入页面时触发loading,载入过程中如果title已经解析并赋予新值,则触发tit ...

  6. mysql慢查询问题

    [问题现象] 使用sphinx支持倒排索引,但sphinx从mysql查询源数据的时候,查询的记录数才几万条,但查询的速度非常慢,大概要4~5分钟左右 [处理过程] 1)explain 首先怀疑索引没 ...

  7. php的表单安全处理

    规则 1:绝不要信任外部数据或输入 关于 Web 应用程序安全性,必须认识到的第一件事是不应该信任外部数据.外部数据(outside data) 包括不是由程序员在 PHP 代码中直接输入的任何数据. ...

  8. 利用ZjDroid对 <捕鱼达人3> 脱壳及破解过程-转

    http://blog.sina.com.cn/zihao2015 <捕鱼达人3> 刚出来不久,就被鬼哥Dump出来dex,随之破解也就轻而易举.一开始我用ZjDroid神器试验过,但是没 ...

  9. StrictMode使用详解

    http://hb.qq.com/a/20110914/000054.htm http://www.android100.org/html/201204/25/1097.html http://www ...

  10. tomcat webdav

    <servlet> <servlet-name>webdav</servlet-name> <servlet-class>org.apache.cata ...