`
Javahuhui
  • 浏览: 78257 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

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

阅读更多
Action配置中的各项默认值
1、 如果没有为action指定class,默认是ActionSupport
2、 如果没有为action指定method,默认执行action中的execute()方法
3、 如果没有指定result的name属性,默认值为success
result配置的各种视图转发类型
常用转发类型: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> 重定向到名为helloworld的action中。
若要重定向到另外一个包下的action,则要重新设置result,代码如下:


<action name="huredirectAction">
<result type="redirectAction">
<param name="namespace">/test/hu</param>    相当于指定包
<param name="actionName">xxx</param> 相当于指定此包下的action
</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> 显示index.jsp的源代码。若有中文,则要改变其读取文件的编码方式,
更改以上result的设置。代码如下:

<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> 根据action中的method,要在HelloWorldAction中
添加一个message()方法,代码如下:

public String message(){
return "message";
}
但这个全局视图只能在包里面使用,要想其它包也能访问,代码如下:
<package name="base" extends="struts-default">
<global-results>
<result name="message">/WEB-INF/page/message.jsp</result>
</global-results>
</package> 其它包只需要继承这个base包就行了
<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>
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics