woshishenxiantaba 2009-10-20 13:42
浏览 116

struts2保存方法执行成功后页面不能定向到指定的路径

有一个密码修改页面,action里写了save(),edit(),cancel()等方法.
其中save(),edit()对应的struts.xml配置是

 <action name="modifyPwd" class="com.webapp.action.ModifyPwdAction" method="edit">   
     <result name="success">/pages/modifyPwd.jsp</result>
 </action>
         
 <action name="saveModifyPwd" class="com.webapp.action.ModifyPwdAction" method="saveTest">   
   <result name="success" type="redirect">feedbacks.html</result>(feedbacks.html可以正常访问)
     <result name="input">/pages/modifyPwd.jsp</result>
     <result name="cancel" type="redirect">feedbacks.html</result>
 </action>

 action类里测试方法是

  public String saveTest(){
        System.out.println("*************===================");
        return this.SUCCESS;
    }

页面代码是

 

<s:form name="userForm" action="modifyPwd" method="post" validate="true">
<li>
    <s:hidden key="user.id"/>
    <div>
        <s:password key="user.oldpassword" showPassword="true" theme="xhtml" required="true" 
            cssClass="text large" onchange="passwordChanged(this)"/>
    </div>
    <div>
        <s:password name="user.password" key="user.newpassword" showPassword="true" theme="xhtml" required="true" 
            cssClass="text large" onchange="passwordChanged(this)"/>
    </div>
    <div>
        <s:password key="user.confirmnewpwd" theme="xhtml" required="true" 
            showPassword="true" cssClass="text large" onchange="passwordChanged(this)"/>
    </div>
</li>
<br>
 <div align="right">
    <s:submit key="button.save" method="saveTest" onclick="onFormSubmit(this.form)"/>&nbsp;&nbsp;&nbsp;
    <s:submit key="button.cancel" method="cancel"/>
 </div>


</s:form>

 

 断点的过程中发现saveTest(),已经return success了,但就是不能正确定位到feedbacks.html

 请问:   这是什么原因呢?

 

 


问题补充:
路径应该没问题的
edit()方法在success的时候可以成功定向
我把save()方法success对应的路径换成了edit()对应的路径/pages/modifyPwd.jsp   还是没反应。。。不动!

不定向,也不报错.
问题补充:
zgy_zhengGY  说的很对
我现在应用的是Appfuse框架,Action类里包括了所有的常用方法.
每个方法在struts.xml里就对应一个action配置

页面form提交时,只能提交一个action。也就是第一次进入页面需要调用的action-(modifyPwd).
那么怎么在这个页面上去调用struts.xml里配置的saveModifyPwd呢?
应该怎么去写
问题补充:
感谢 zgy_zhengGY




<action name="modifyPwd">

<result type="redirect-action">saveModifyPwd</result>

</action>


这种做法我刚刚尝试了,当进入modifyPwd的时候,就会报错,
过滤器仍出来的.


javax.servlet.ServletException: java.lang.NullPointerException
at net.sf.ehcache.constructs.web.filter.Filter.logThrowable(Filter.java:152)
at net.sf.ehcache.constructs.web.filter.Filter.doFilter(Filter.java:97)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.youqudian.webapp.filter.LocaleFilter.doFilterInternal(LocaleFilter.java:74)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.opensymphony.clickstream.ClickstreamFilter.doFilter(ClickstreamFilter.java:42)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)




我是在做一个修改密码的页面
1:请求modifyPwd进入修改密码页面了,调用了Action类中的edit方法
2:用户录入完新密码后,点击"保存"按钮,调用Action类中的save方法
这时请求的action应该为saveModifyPwd.因为在struts.xml里
saveModifyPwd在success的时候会定向到我的指定页面

现在的情况就是 Action类中的save方法执行了,我断点跟进去了,也已经return success。但就是页面没有跳转到我指定的页面,什么动作都没有。不跳转,也不报错.
  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 求daily translation(DT)偏差订正方法的代码
    • ¥15 js调用html页面需要隐藏某个按钮
    • ¥15 ads仿真结果在圆图上是怎么读数的
    • ¥20 Cotex M3的调试和程序执行方式是什么样的?
    • ¥20 java项目连接sqlserver时报ssl相关错误
    • ¥15 一道python难题3
    • ¥15 牛顿斯科特系数表表示
    • ¥15 arduino 步进电机
    • ¥20 程序进入HardFault_Handler
    • ¥15 关于#python#的问题:自动化测试