struts2的action跳转问题
struts2 action跳转分为:action转发action;action转发视图:客户端的重定向。
?
1,action转发action;
?
<action name="one" type="chain">two</result><result name="success">/one.jsp</result></action><action name="two" name="code">@Results( { @Result(name = "view", location = "two!view", type = "chain") })public class OneAction extends ActionSupport @Results( { @Result(name = "success", location = "two.jsp", type = "dispatcher") })public class TwoAction extends ActionSupport@Action(value = "two!view")public String view() throws Exception??注意我在TwoAction的view方法上写了一个@Action注解,如果不写的话,OneAction在跳转的时候会找不到“two!view”这个action。
?
2,action转发视图;
?如果没有用convention插件的话,这是一个很简单的事情,当然convention也很简单:
@Result(name = "view", location = "topic_view.jsp") })
?搞定。
其实这里使用了默认类型,相当于下面这样:
@Result(name = "view", location = "topic_view.jsp",type="dispatcher") })
3.客户端跳转?
”dispatcher“是aciton跳转视图用的。是服务端的跳转,你当然也可以使用客户端跳转“redirect”。
应该能看出来action的重定向也是使用“redirect”类型。
如果你没有用convention,你有一种action重定向方式:
?
<action name="one" type="redirectAction"> <param name="one">${one}</param> <param name="actionName">two.action</param></result></action><action name="two" class="wherever.test.struts2.TwoAction"> <result name="success">/two.jsp</result></action>?
?
?
?
?
?
?