日期:2014-05-17  浏览次数:20768 次

求助一个struts2跳转问题
自己搭了个SSh框架。在地址栏输入http://localhost:7080/mobilBuyTicket/twe/mobilBooking!test.action测试数据测持久化。打断点能访问到test方法。但是无法跳转到result页面

web.xml中
 <!-- Struts2拦截器 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> 
<init-param>
<param-name>actionPackages</param-name>
<param-value>main.action</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>

struts.xml中:
  <action name="input" class="OutputAction" method="actionMethod">
<result name="output">/success.jsp</result>
</action>

action中方法

  public String test(){
//this.mobilBookingService.creat();
return "out";
}
我把业务代码都注释掉了,就一个跳转,就跳不过去。提示
No result defined for action main.action.MobilBookingAction and result out
我把斜杠去掉<result name="output">success.jsp</result>还是报错,变为<result name="out" type="redirect">/success.jsp</result>也报错,我的success.jsp页面就是建在webRoot下的
请问是什么问题啊

------解决方案--------------------
public String test(){
//this.mobilBookingService.creat();
return "out";
}
从这里可以看去 result属性是 out;
所以struts配置文件应该这样
<result name="out">webRoot/success.jsp</result>
------解决方案--------------------
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>

把这些换成<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping> 试试···

路径的问题,仔细找找···
------解决方案--------------------
把这个“web.xml中
 <!-- Struts2拦截器 -->
<init-param>
<param-name>actionPackages</param-name>
<param-value>main.action</param-value>
</init-param>
”删掉,试试吧
 

------解决方案--------------------
No result defined for action main.action.MobilBookingAction and result out!!!
没有out对应的result视图啊 你检查下 result中 的name'写对了没
------解决方案--------------------
把过滤器
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.jsp</url-pattern>
换成
<filter-name>struts2</filter-name>
 <url-pattern>/*</url-pattern>
struts.xml的配置不正确
 <action name="input" class="OutputAction" method="actionMethod">
<result name="output">/success.jsp</result>
</action>
其中的class应该加上OutputAction所在的包名,且要保证OutputAction中有actionMethod方法,不然无法实现跳转
根据你所说的
action中方法 
public String test(){
//this.mobilBookingService.creat();
return "out";
}
上面的struts.xml应该这样配置(class要加上包名!)
<action name="input" class="包名.OutputAction" method="test">