读书人

struts2的action跳转有关问题

发布时间: 2012-11-10 10:48:50 作者: rapoo

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>

?

?

?

?

?

?

?

读书人网 >软件架构设计

热点推荐