Struts2中Action各种转发类型

Struts2:
Action中result的各种转发类型:

内部请求转发dispatcher(默认值)
 redirect、redirectAction、plainText
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
name="redirectAction">
  <resutl
type="redirectAction">Action的名称</resutl>
</action>
重定向到另一个包下的Action如何?
<action
name="redirectAction">
  <resutl
type="redirectAction">
      <param
name="actionName">Action名称</param>给源代码的这两个属性注入值
     
<param name="namespace">/control/department</param>
 
</resutl>
</action>
3.plainText适用于查看某个JSP源代码即显示源代码的时候使用
<action
name="plainText">
  <resutl
type="plainText">/index.jsp</result>
</action>
结果会将整个视图的源代码输出在浏览器上给用户看UTF-8的模式呈现不会说中文乱码
<action
name="plainText">
  <resutl type="plainText">
  
<param name="location">/index.jsp</param>
   <param
name="charSet">UTF-8</param>
 
</result>
</action>
4.大多数Action公用的视图配置
<global-results>
<result
name="message">/WEB-INF/page/message.jsp</result>
</global-results>
这段代码放在某个<package></package>代码段中的Action是公用视图外如果想定义全局的话可以
<package
name="base" extends="struts-default">
</package>
其它包继承
extentds="base"就OK 各个包中的Action使用公共视图就这样定义全局视图

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

为Action的属性注入值
要实现依赖注入必须提供Set方法
<struts>
<package
name="itcast" namespace="/control/employee"
extends="struts-default">
   <action name="list"
class="cn.itcast.action.HelloWorldAction"
method="execute">
     <param
name="savepath">/images</param>给Action中的savepath属性注入的值
       
<result
name="success">/WEB-INF/page/message.jsp</result>
  
</action>
</package>
</struts>

时间: 2024-10-14 19:35:43

Struts2中Action各种转发类型的相关文章

关于Struts2中Action从表单取值并且存到Web元素中(session)

声明:本博客非原创,[转载:http://blog.csdn.net/Cece_2012/article/details/7617775] 在struts2中,Action不同于struts1.x中的Action.在struts2中Action并不需要继承任何控制器类型或实现相应接口.比如struts1.x中的Action需要继承Action或者DispatcherAction. 同时struts2中的Action并不需要借助于像struts1.x中的ActionForm获取表单的数据.可以直接

struts2中action手动获取參数

struts2中action手动获取Session,jsp页面參数 1. ActionContext 在Struts2开发中,除了将请求參数自己主动设置到Action的字段中,我们往往也须要在Action里直接获取请求(Request)或会话(Session)的一些信息, 甚至须要直接对JavaServlet Http的请求(HttpServletRequest),响应(HttpServletResponse)操作. 我们须要在Action中取得request请求參数"username"

Struts2中Action通配符的配置

1.在我的一篇文章中,介绍了Struts2中Action的动态调用方法:http://blog.csdn.net/u012561176/article/details/44347429 但是那样子还不是最简单的,最简单的是使用通配符,将配置量降到最低,但是这个也比较难已理解,在使用通配符时,一定要遵守"约定优于配置"的原则. 2.接下来介绍一下通配符,使用星号(*)表示所有,{数字}表示第几个通配符,例如: *Action,那么{1}就表示第一个星号(*),如果是 *_* 的话,那

Struts2中Action接收参数的方法主要有以下三种:

Struts2中Action接收参数的方法主要有以下三种: 1.使用Action的属性接收参数(最原始的方式):     a.定义:在Action类中定义属性,创建get和set方法:     b.接收:通过属性接收参数,如:userName:     c.发送:使用属性名传递参数,如:user1!add?userName=jim: 2.使用DomainModel接收参数:     a.定义:定义Model类,在Action中定义Model类的对象(不需要new),创建该对象的get和set方法

Struts2中Action取得表单数据的几种方法

Struts2中Action取得表单数据的几种方法 Struts2中Action获得表单数据的几种方法struts2 Action获取表单传值 1.通过属性驱动式JSP: <form action="sys/login.action" method="post"> <input type="text" name="username"> <input type="submit"

Struts2中Action接收参数的方法

详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt112 Struts2中Action接收参数的方法主要有以下三种: 1.使用Action的属性接收参数:     a.定义:在Action类中定义属性,创建get和set方法:     b.接收:通过属性接收参数,如:userName:     c.发送:使用属性名传递参数,如:user1!add?userName=Magci: 2.使用DomainModel接收参数:   

Struts2中Action接收参数的三种方式

Struts2中Action接收参数的方法主要有以下三种:1.使用Action的属性接收参数:    a.定义:在Action类中定义属性,创建get和set方法:    b.接收:通过属性接收参数,如:userName:    c.发送:使用属性名传递参数,如:user1!add?userName=zhangsan:2.使用DomainModel接收参数:    a.定义:定义Model类,在Action中定义Model类的对象(不需要new),创建该对象的get和set方法:    b.接收

Struts2中Action接收参数

Struts2中Action接收参数的方法主要有以下三种: Struts2中Action接收参数的方法主要有以下三种: 1.使用Action的属性接收参数:     a.定义:在Action类中定义属性,创建get和set方法:     b.接收:通过属性接收参数,如:userName:     c.发送:使用属性名传递参数,如:user1!add?userName=Magci: 2.使用DomainModel接收参数:     a.定义:定义Model类,在Action中定义Model类的对象

自己定义struts2中action类型转换器

DateAction.java中代码例如以下: package com.itheima.action; import java.util.Date; public class DateAction { private Date time; public Date getTime() { return time; } public void setTime(Date time) { this.time = time; } public String execute() { return "succ