首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

一个struts2跳转有关问题

2012-05-07 
求助一个struts2跳转问题自己搭了个SSh框架。在地址栏输入http://localhost:7080/mobilBuyTicket/twe/mobil

求助一个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">


<result name="out">/success.jsp</result>
</action>

还有一点是,你所写的jsp页面的action=“”是否写正确。
比如:
index.jsp
<form action="aa/test">
struts.xml
<package name="default" namespace="/aa"extends="struts-default">
<action name="test" class="包名.OutputAction" method="test">
<result name="out">/success.jsp</result>
</action>

希望能帮到楼主!

[解决办法]

探讨

引用:
1、你是否有结合spring?将struts的action交由spring托管?
2、如果1没有,则struts.xml中的配置,

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

[解决办法]
探讨

有点小进展,我发现了个错误。我的success.jsp建文件名时前面多了个空格,删掉后。可以进入action的断点了,但是跳转不到jsp。报错No result defined for action main.action.MobilBookingAction and result out2。我的struts.xml如下
<?xml version="1.0" encoding="UTF-8"……

热点排行