您的位置:首页 > 编程语言 > Java开发

java_Struts2在Action中result的四种转发类型

2012-12-19 13:18 375 查看
部分内容是网上转载的,自己整合了一下

在struts2中为result提供了多种类型,常用的类型有:dispatcher(默认),redirect,redirectAction,plainText。

在result中还可以使用${属性名}访问action中的属性,表达式中的属性名对应action中的属性。

<resulttype="redirect">/index.jsp?id=${id}</result>


1.redirect是重定向到某个路径、视图

<!-- 直接重定向 -->
<action name="redirect">
<result type="redirect">/employeeAdd.jsp?username=${username}</result>
</action>
URLEncoder.encode("传智播客","UTF-8");
取值解码
在前台<% = URLDecoder.decode(new String(request.getParameter("username").getBytes("ISO8859-1"),"UTF-8"),"UTF-8") %>

2.redirectAction重定向到Action

如果重定向的action中在同一个package下:

<result type="redirectAction">helloworld</result>


如果重定向的action在别的package下:

<result type="redirectAction">
<param name="namespace">/login</param>
<param name="actionName">list</param></result>


3.当需要显示文件内容,比如:原样显示jsp文件源代码时就用plainText

<result name="source" type="plainText">
<param name="location">/index.jsp</param>
<!-- 指定读取文件的编码 -->
<param name="charSet">UTF-8</param>
</result>


---------------------------------------------------------------------------------

为Action的属性注入值
要实现依赖注入必须提供Set方法

<package name="itcast" namespace="/control/employee"  extends="struts-default">
<action name="list" class="cn.itcast.action.HelloWorldAction" method="execute">
   <!--给Action中的savepath属性注入的值  -->
<param name="savepath">/images</param>
<result name="success">/WEB-INF/page/message.jsp</result>
</action>
</package>


全局视图的
这段代码放在某个<package></package>代码段中的Action是公用视图外如果想定义全局的话可以

<package name="base" extends="struts-default">
  <global-results>
    <result name="message">/WEB-INF/page/message.jsp</result>
</global-results>
</package>


其它包继承 extentds="base"就OK 各个包中的Action使用公共视图就这样定义全局视图
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐