Strust2从一个Action跳转到另一个Action的问题

假设现在要求写一个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"]


[/code]

也可以在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