在Struts2中有两个Action, Action1和Action2. 现在页面需要先提交到Action1中,然后Action1再forward到Action2中。Action1处理请求(调用数据库),Action2负责展示下一个页面,并且需要用到Action1处理完的结果(有可能是错误信息)。Google了一下,说如果两个Action想共享相互的数据,需要设置type="chain",所以我配置两个Action如下:
<action name="Action1" class="com.abc.Action1">
<result name="success" type="chain">Action2.action</result>
</action> <action name="Action2" class="com.abc.Action2">
<result name="success">/jsp/abc.jsp</result>
</action>现在在Action1 -> Action2的过程中报错:
There is no Action mapped for namespace / and action name Action2.action. - [unknown location]但是当把type="chain"设置成type="redirect"的时候就可以转到Action2上去。请问这是什么问题啊!非常郁闷!
<action name="Action1" class="com.abc.Action1">
<result name="success" type="chain">Action2.action</result>
</action> <action name="Action2" class="com.abc.Action2">
<result name="success">/jsp/abc.jsp</result>
</action>现在在Action1 -> Action2的过程中报错:
There is no Action mapped for namespace / and action name Action2.action. - [unknown location]但是当把type="chain"设置成type="redirect"的时候就可以转到Action2上去。请问这是什么问题啊!非常郁闷!
解决方案 »
- java.lang.reflect.InvocationTargetException如何解决???
- 求一正则表达式
- WEB-INF\classes\下的文件是什么?
- Myeclipse运行项目是出错
- 在eclipse里启动tomcat时发生如下错误
- apache配置问题
- 北京文思海辉外派到AIA
- 编辑器插入分页符如何实现分页
- session.setAttribute()方法是做什么用的?
- 新上手路:怎么对Tomcat进行设置?
- org.hibernate.exception.SQLGrammarException: could not execute query问题求解
- jsp里面的js调用另外的jsp,这个jsp再用ajax调用java类的问题
报错显然是你配置不对。chain 用于把相关的几个action连接起来,共同完成一个功能。
Xml代码:<action name="step1" class="test.Step1Action">
<result name="success" type="chain">step2.action</result>
</action>
<action name="step2" class="test.Step2Action">
<result name="success">finish.jsp</result>
</action>
处于chain中的action属于同一个http请求,共享一个ActionContext
配置文件中去掉 .action,只写名称就OK
<action name="Action1" class="com.abc.Action1">
<result name="success" type="chain">Action2</result>
</action>