假设现在要求写一个ACTION
source.action?targetAction=xyz
然后在这个action完成之后要跳转到未知的另一个action(如上面的xyz.action)
现在我想要两种方法实现
1.怎么在XML里面配置这个ACTION,因为targetAction这个参数是动态的
2.怎么在程序里面RETURN 直接写了就跳转了。。。
谢谢大家了,如果没有说明白,我再补充
这样:
FragmentAction implementation
[code="java"]
private String nextAction;
public String getNextAction() {
return nextAction;
}
[/code]
FragmentAction configuration
[code="java"]
${nextAction}
[/code]
参考:[url]http://struts.apache.org/2.0.11.1/docs/result-configuration.html[/url]
兄弟 你可以这样
在struts配置
[code="xml"]
method="getMainData">
xyz.jsp
method="getMainData1">
xyz1.jsp
method="sourceMain">
/xyz.action
/xyz1.action
[/code]
哦哦 这个倒是没注意
不过即使 是动态配置跳转,那每个action总是需要配置的。
xml里的配置
ActionName
action完了,直接result下一个action的name
findTopics
${topicId}
第二个方法return是应该是不可能的,只能用struts的配置文件,映射关系来跳转
这个可以采用ajax的思想来实现。一个请求到一个action后,成功返回,然后调用另一个action,配置上与正常的一样,主要通过页面控制。。。
看了半天,没有正确答案。
/xx.jsp
${ru}
在a中return到b,b就是targetAction
绝对动态
[code="java"]
method="getMainData">
xyz.jsp
method="getMainData1">
xyz1.jsp
method="sourceMain">
${targetAction}.action
[/code]
你的targetAction假如是xyz那么就去xyz.action 假如为xyz1则为xyz1.action
xml里的配置
ActionName
action完了,直接result下一个action的name
Type :类型需要配置
一.
source.action?targetAction=xyz
会跳转到source.action中,做完后如果要让再跳到aa.action中可以这样配置
aa.action
二.
还有一种就是在你进入到一个action的一个方法后 return [b]aa();[/b], aa()方法是值得这个action的一个方法,它也是返回一个String的类型的。这种方法就看你在struts.xml方法中的配置了
你可以dispatcher到一个jsp
vo里放一个redirect
[code="jsp"][/code]
在jsp里forward或者
[code="html"]
也可以在xml的配置文件里
[code="xml"]
${redirect}
[/code]
struts2支持动态映射
全局只用配这一个配置, 所有的请求都应包含分隔符@
如/login@LoginAction.action则请求到com.xxx.web.action.LoginAction的login方法上
再如/submit@HandlerAction.action则请求到com.xxx.web.action.HandlerAction的submit方法上
可以自由变换
补充,
${forward}
如果希望转向另一个action, 则追加参数forward
如/login@LoginAction.action?forward=/submit@HandlerAction.action
[size=xx-large][/size][align=left][/align]
struts.xml做成通配
<!-- 服务器转发 -->
/WEB-INF/jsp/${viewpath}
<!-- 客户端转向 -->
/${viewpath}
访问的时候:(LongAction为例, 里面有方法:login())
访问路径为: Login_login.action
viewpath 是后台设定传入的
通过
/${viewpath}
可从一个Action调至另一个Action