你的拦截器都配置在哪里了,如果在其他action上没有配置拦截器,就单纯在LoginAction配置什么用都没有,没有看到你具体拦截器配置的xml片段比如有个a.jsp,是通过ActionA控制导航的,那么就必须在ActionA前面配置使用这个拦截器,现在无从知道你在哪里配置的

解决方案 »

  1.   

    我不是在上面贴struts.xml的代码了吗??
      

  2.   

    你的拦截器拦截的是所有.action的请求,没有拦截.jsp 或 .html等的其他请求
      

  3.   

    你在前面相当于创建一个拦截器,并没有把对应的拦截器在action里面配置!
      

  4.   

    回复8 楼,你说没有配置??不太懂,你是说要在里面在<interceptor-ref name="default"></interceptor-ref>
    这样啊 ,这样我也试了啊,不行啊 。。你说的在具体点啊
      

  5.   

    <!-- 管理员登录 -->
     <action name="login" class="com.jy.action.LoginAction"> <result name="success">/admin/main.jsp</result>
     <result name="input">/admin/login.jsp</result>
     </action>
    先把你配的拦截器,再把默认的放到action里边
      

  6.   

    拦截器没有放到action 中,怎么起作用?
      

  7.   

    测试完毕,没问题。<%
    out.print(request.getParameter("password"));
    %> <form action="#">
    <input type="password" name="password">
    <input type="submit" value="test">
    </form>
      

  8.   

    不好意思。刚刚的回复错了。。
    我看了以前写的配置文件,和你一样。
    1. 没有使用自定义默认拦截器栈
    2. 在Action中配置自己写的拦截器和系统默认的拦截器测试过了。没什么问题。应该是你其它地方出问题了。。
    <interceptors >
      <interceptor name="myInterceptor01" class="com.intercept.MyInterceptor">
    <param name="ref">value</param>
      </interceptor>
      <interceptor-stack name="myInterceptorStack">
    <interceptor-ref name="myInterceptor01"></interceptor-ref>
    <interceptor-ref name="defaultStack"></interceptor-ref>
    </interceptor-stack>
    </interceptors><!-- 
        <default-interceptor-ref name="myInterceptorStack"></default-interceptor-ref> 
    --><action name="*loginPerson" class="com.test.action.LoginAction" method="{1}">
    <result name="success">/com/test/loginSuccess.jsp</result>
    <result name="input">/com/test/login.jsp</result>
    <interceptor-ref name="myInterceptor01">
    <param name="ref">newValue</param>
    </interceptor-ref>
    <interceptor-ref name="defaultStack"></interceptor-ref>
    </action>
      

  9.   

    自己写一个拦截器继承struts的拦截器然后配置上自己的。
      

  10.   

    在struts.xml里指明一下
    <interceptor-ref name="....Interceptor0"/>
      

  11.   

    看了楼主下面的很多回答,都坑爹..不是什么没在action中加拦截器,就是说没加struts的defaultStack.仔细看楼主配置了在回答好不,楼主的自定义拦截器包含了defaultStack,.而这句配置<default-interceptor-ref name="default"></default-interceptor-ref> 指定默认的全局拦截器.就不需要重复在action中加拦截了...我今天也遇到这个问题..楼主你解决了没有?