result标签中type的类型

类型 说明
chain 用于Action链式处理
dispatcher 用于整合JSP,是<result>元素默认的类型
freemarket 用来整合FreeMarket
httpheader 用来处理特殊的HTTP行为
redirect 用来重定向到其它文件
redirectAction 用来重定向到其它Action
stream 用来香浏览器返回一个InputStream
velocity 用来整合Velocity
xslt 用来整合XML/XSLT
plainText 用来显示页面的原始代码

result的type类型定义在struts-default.xml中,定义如下

<package name="struts-default" abstract="true">
<result-types>
<result-type name="chain" class="com.opensymphony.xwork2.ActionChainResult"/>
<result-type name="dispatcher" class="org.apache.struts2.dispatcher.ServletDispatcherResult" default="true"/>
<result-type name="freemarker" class="org.apache.struts2.views.freemarker.FreemarkerResult"/>
<result-type name="httpheader" class="org.apache.struts2.dispatcher.HttpHeaderResult"/>
<result-type name="redirect" class="org.apache.struts2.dispatcher.ServletRedirectResult"/>
<result-type name="redirectAction" class="org.apache.struts2.dispatcher.ServletActionRedirectResult"/>
<result-type name="stream" class="org.apache.struts2.dispatcher.StreamResult"/>
<result-type name="velocity" class="org.apache.struts2.dispatcher.VelocityResult"/>
<result-type name="xslt" class="org.apache.struts2.views.xslt.XSLTResult"/>
<result-type name="plainText" class="org.apache.struts2.dispatcher.PlainTextResult" />
<result-type name="postback" class="org.apache.struts2.dispatcher.PostbackResult" />
</result-types>

1.dispatcher结果类型

  dispatcher结果类型用来表示“转发”到指定结果资源,它是struts2的默认结果类型

  (1)建一个test.jsp页面,内容如下:

    <s:form method="post" action="/Login_toLogin">
<s:textfield name="username" label="用户名"/>
<s:password name="password" label="密码"/>
<s:submit></s:submit>
</s:form>

  (2)在src/action下建一个类TestAction

package action;

public class TestAction {

    private String username;
private String password; public String getUsername() {
return username;
} public void setUsername(String username) {
this.username = username;
} public String getPassword() {
return password;
} public void setPassword(String password) {
this.password = password;
} public String execute(){
return "success";
}
}

  TestAction类中封装了两个属性username和password

  (3)配置struts.xml文件中action

    <action name="test" class="action.TestAction">
<result type="dispatcher">/testSuccess.jsp</result>
</action>

  (4)新建一个testSuccess.jsp

    用户:<s:property value="username"/><br/>
密码:<s:property value="password"/>

输出结果:

  使用dispatcher记过类型是,由于只是将结果转发到指定资源,所以能够暴力会请求的信息,而且在使用浏览器地址显示为test.action而不是testSuccess.jsp

2、redirect结果类型

  redirect结果类型用来“重定向”,到指定的结果资源,该资源可以是JSP文件,也可以action类。使用redirect结果类型时,系统将调用HttpServletResponse的sendRedirect()方法。

  还是上面的例子,只是在struts.xml中,修改result元素的结果类型为redirect,代码如下:

<action name="test" class="action.TestAction">
<result type="redirect">/testSuccess.jsp</result>
</action>

  结果在url不在test.action,而是testSuccess.jsp。由于redirect使得浏览器再一次发出请求,所有原来的请求资源将不会存在,所以使用<s:property value="username"/>是无法获取到请求数据的

3、stream结果类型

  stream表示流,这种结果类型通常用于实现用户下载文件的Action配置中,参数有:

  (1)contentType:用来指定床底给浏览器stream类型。默认为text/plain

  (2)contentLength:指定数据了的字节长度

  (3)contentDiposition:指定文件下载的处理方式,包括内联(inline)和附件(attachment)这两种方式,内联方式表示浏览器会尝试直接显示文件,附件方式会弹出文件保存对话框,默认值为inline。

  (4)inputName:表示数据了属性。默认值为inputStream

  (5)bufferSize:表示缓冲区容量。默认为1024

struts2 result type类型的更多相关文章

  1. struts2 action result type类型

    struts2 action result type类型 1.chain:用来处理Action链,被跳转的action中仍能获取上个页面的值,如request信息. com.opensymphony. ...

  2. struts2 Result Type四个常用转跳类型

    Result的四个常用转跳类型分别为 Dispatcher 用来转向页面,是Struts的默认形式 Redirect   重定向到一个URL Chain  用来处理Action链 RedirectAc ...

  3. Struts2 result type(结果类型)

    转自:http://www.cnblogs.com/liaojie970/p/7151103.html 在struts2框架中,当action处理完之后,就应该向用户返回结果信息,该任务被分为两部分: ...

  4. struts2 result type的类型

    一共十种类型 1.dispatcher 默认的类型,相当于servlet的foward,服务器端跳转.客户端看到的是struts2中配置的地址,而不是真正页面的地址.一般用于跳转到jsp页面 2.re ...

  5. Struts2 result type

    Struts2支持的不同类型的返回结果为: type name 说明 dispatcher 缺省类型,用来转向页面,通常处理JSP chain 转向另一个action,用来处理Action链 redi ...

  6. struts2 result type属性说明

    首先看一下在struts-default.xml中对于result-type的定义: <result-types><result-type name="chain" ...

  7. Struts2 中result type属性说明

    Struts2 中result type属性说明 首先看一下在struts-default.xml中对于result-type的定义: <result-types><result-t ...

  8. struts2 中的 result 返回类型是 json 的配置问题

    struts2 中的 result 返回类型是 json 的配置问题 1.引入包(本文中的包全部引自struts-2.1.8.1\lib): struts2-json-plugin-2.1.8.1.j ...

  9. Struts2 语法--result type

    result type: dispatcher,redirect:只能跳转到jsp,html之类的页面,dispatcher属于服务器跳转, redirect属于客户端跳转 chain: 等同于for ...

随机推荐

  1. CSS 笔记——文本字体

    5. 文本字体 -> 文本 (1)text-indent 基本语法 text-indent : length 语法取值 length : 百分比数字 | 由浮点数字和单位标识符组成的长度值,允许 ...

  2. 【高斯消元】CDOJ1784 曜酱的线性代数课堂(二)

    高斯消元求矩阵秩板子. #include<cstdio> #include<cmath> #include<algorithm> #include<cstri ...

  3. 【最短路】【spfa】hdu6071 Lazy Running

    给你一个4个点的环,问你从2号点出发, 再回到2号点,长度>=K的最短路是多少.环上的边长度不超过30000. 跑出来所有dis(2,j)以后,然后for一遍j,根据dis(2,j)+t*2*w ...

  4. (疯狂java)第一课

    (本文章只是为了好玩,没有别的意思,有理解错误之处,恳请提醒,谢谢) 环境变量的安装 记得很久之前大学学习java的时候还需要配置环境变量.系统变量,今天看了一下居然还是需要配置,想想啊,mac下面已 ...

  5. pymysql与mysql各功能

    pymysql # 增删改操作 import pymysql client=pymysql.connect( host='127.0.0.1', port=3306, user='root', pas ...

  6. java中关于volatile的理解疑问?

    作者:xyzZ链接:https://www.zhihu.com/question/49656589/answer/117826278来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请 ...

  7. express.Router创建模块化路由

    使用 app.route() 创建路由路径的链式路由句柄.由于路径在一个地方指定,这样做有助于创建模块化的路由,而且减少了代码冗余和拼写错误. 先放小实例: app.js var express = ...

  8. mybatis批量操作-xml方式

    在实际项目中,我们一般都会用到批量insert.delete.update等操作,由于使用频率还是蛮高的,这里就做个简单的记录,供以后学习和参考. 批量insert 在数据库中,批量插入可以是多条in ...

  9. 判断客户端是PC还是手持设备的JS代码【转】

    1.第一种: 复制代码代码如下: function IsPC() {    var userAgentInfo = navigator.userAgent;    var Agents = [&quo ...

  10. How to publish a WordPress blog to a static GitLab Pages site

    https://opensource.com/article/18/8/publish-wordpress-static-gitlab-pages-site A long time ago, I se ...