Struts2基础应用_常用转发类型

[b][color=blue]Action配置中的各项默认值[/color][/b]
1、 如果没有为action指定class,默认是ActionSupport
2、 如果没有为action指定method,默认执行action中的execute()方法
3、 如果没有指定result的name属性,默认值为success
[b][color=blue]result配置的各种视图转发类型[/color][/b]
常用转发类型:dispatcher(默认值)、redirect、redirectAction、piainText。
1、 redirect:使用此类型为浏览器重定向,它不能访问WEB-INF下的JSP文件。因此为了测试,我在WebRoot下新建一个JSP文件,并在struts.xml文件中配置。代码如下:
<form action="/xxx">
密码:<input type="password" name="xxx" />
</form>

<action name="huredirect">
<result type="redirect">/employeeinput.jsp</result>
</action>
2、 redirectAction:
<action name="huredirectAction">
<result type="redirectAction">helloworld</result>
</action> [color=green]重定向到名为helloworld的action中。
若要重定向到另外一个包下的action,则要重新设置result,代码如下:[/color]

<action name="huredirectAction">
<result type="redirectAction">
<param name="namespace">/test/hu</param> [color=green]相当于指定包[/color]
<param name="actionName">xxx</param> [color=green]相当于指定此包下的action[/color]
</result>
</action> 下面是另外一个包下的名为xxx的action:
<package name="other" namespace="/test/hu" extends="struts-default">
<action name="xxx">
<result>/WEB-INF/page/employeeAdd.jsp</result>
</action>
</package>
3、 piainText:显示Java、JSP等源代码
<action name="huplainText">
<result type="plainText">/index.jsp</result>
</action> [color=green]显示index.jsp的源代码。若有中文,则要改变其读取文件的编码方式,
更改以上result的设置。代码如下:[/color]
<action name="huplainText">
<result type="plainText">
<param name="location">/index.jsp</param>
<param name="charSet">UTF-8</param><!-- 指定读取文件的编码 -->
</result>
</action>
4、 共用视图
在包下定义一个全局视图,代码如下:
<global-results>
<result name="message">/WEB-INF/page/message.jsp</result>
</global-results>
<action name="manage" class="cn.itcast.action.HelloWorldAction" method="message"></action> [color=green]根据action中的method,要在HelloWorldAction中
添加一个message()方法,代码如下:[/color]
public String message(){
return "message";
}
[color=green]但这个全局视图只能在包里面使用,要想其它包也能访问,代码如下:[/color]
<package name="base" extends="struts-default">
<global-results>
<result name="message">/WEB-INF/page/message.jsp</result>
</global-results>
</package> [color=green]其它包只需要继承这个base包就行了[/color]
<package name="other" namespace="/test/hu" extends="base">
<action name="manage" class="com.huhui.action.HelloWorldAction" method="message"></action>
</package>
<package name="other" namespace="/test/hui" extends="base">
<action name="manage" class="cn.itcast.action.HelloWorldAction" method="message"></action>
</package>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值