然而我改成如下:
1.加一个jump.jsp:
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<html>
<body>
<logic:forward name="jump"/>
</body>
</html>
2.配置文件改为:
<global-forwards>
<forward name="jump" path="/showSalePlan.do"/>
</global-forwards> <action path="/genSalePlan" type="plan.genSalePlanAction" scope="request">
<forward name="Success" path="/jump.jsp"/>
</action>
<action path="/adjSalePlan" type="plan.adjSalePlanAction" scope="request">
<forward name="Success" path="/jump.jsp"/>
</action>流程就变成:
1.welcome.jsp->showSalePlan.do->showSalePlanResult.jsp
2.genSalePlan.do->jump.jsp->showSalePlan.do->showSalePlanResult.jsp
3.adjSalePlan.do->jump.jsp->showSalePlan.do->showSalePlanResult.jsp就是中间通过jsp来过滤,让它递过去,这样就不会有问题。
我不知道Struts为什么要这样才行,那样就不行?
1.加一个jump.jsp:
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<html>
<body>
<logic:forward name="jump"/>
</body>
</html>
2.配置文件改为:
<global-forwards>
<forward name="jump" path="/showSalePlan.do"/>
</global-forwards> <action path="/genSalePlan" type="plan.genSalePlanAction" scope="request">
<forward name="Success" path="/jump.jsp"/>
</action>
<action path="/adjSalePlan" type="plan.adjSalePlanAction" scope="request">
<forward name="Success" path="/jump.jsp"/>
</action>流程就变成:
1.welcome.jsp->showSalePlan.do->showSalePlanResult.jsp
2.genSalePlan.do->jump.jsp->showSalePlan.do->showSalePlanResult.jsp
3.adjSalePlan.do->jump.jsp->showSalePlan.do->showSalePlanResult.jsp就是中间通过jsp来过滤,让它递过去,这样就不会有问题。
我不知道Struts为什么要这样才行,那样就不行?
解决方案 »
- socket 传文件 DataInputStream.readInt()时,读出乱数据~~请大家帮忙看看,谢谢了
- 静态和伪静态应用
- Jboss启动异常
- 大家有空帮忙看看了...求解,spring配置报的异常
- struts2标签iteractor
- 对于spring声明事务配置的一点疑问.
- 在structs架构下使用cookie编写登陆程序的问题
- 求助如何在JBUILD2005中 在jdbc中添加驱动
- j2ee开发需要安装什么东西?
- Java开发微信公众平台的卡券功能
- 谁能给我介绍几本关于spring和hebernate的好书,谢谢!
- 紧急求教,struts中的saveErrors运行时报nosuchmethod!!
<form-bean name="loginBean" type="login.userLogin"/>
<form-bean name="regBean" type="login.userInfo"/>
<form-bean name="quesBean" type="question.question"/>
</form-beans> <global-forwards>
<forward name="login" path="/login.jsp"/>
<forward name="adminlogin" path="/admin/main.jsp"/>
<forward name="loginok" path="/repare.htm"/>
<forward name="adminloginok" path="/admin/main.jsp"/>
<forward name="begin" path="/main.jsp"/>
<forward name="finish" path="/result.jsp"/>
<forward name="reg" path="/admin/stu_add.jsp"/>
<forward name="regfinish" path="/admin/stu_list.jsp"/>
<forward name="questionfinish" path="/admin/question_list.jsp"/>
<forward name="question" path="/admin/question_add.jsp"/>
</global-forwards> <action-mappings>
<action path="/begin" type="exam.examAction"/>
<action path="/finish" type="exam.finishAction"/>
<action path="/login" type="login.loginAction" name="loginBean" scope="request" validate="false" input="/login.jsp" />
<action path="/admin/login" type="login.loginAction" name="loginBean" scope="request" validate="true" input="/login.jsp" />
<action path="/admin/reg" type="login.regAction" name="regBean" scope="request" validate="true" input="/admin/stu_add.jsp" />
<action path="/admin/questionAdd" type="question.questionAction" name="quesBean" scope="request" validate="true" input="/admin/question_add.jsp" />
</action-mappings>
<message-resources parameter="MyResource"/>
</struts-config>
好象会引起死循环forward
一般的做法是用一个jsp中转一下。
只有经过交互才能执行Action的。
就如:
1.用户选Add
2.系统执行Add
3.系统显示结果
4.用户选Edit
5.系统执行Edit
6.系统显示结果
只是我发现,Action配置中直接forward到一个Action,第一次执行是没有问题,第二次执行就没有响应。
<forward name="Success" path="/showSalePlanResult.jsp"/>
</action>
<action path="/genSalePlan" type="plan.genSalePlanAction" scope="request">
<forward name="Success" path="/showSalePlan.do"/>
</action>
<action path="/adjSalePlan" type="plan.adjSalePlanAction" scope="request">
<forward name="Success" path="/showSalePlan.do"/>
</action>
这种配置没有问题,你在ACTION加个判断,检查下提交控制器映射是否正确,是否是Mapping.findforword("Success");了,你的这种配置不会有问题,我做过N多个这类项目了!可以排除这部分的问题!