本章节将继续学习struts2的返回类型的使用方法。

学习文档下载struts2 full包解压后会在doc下包含离线html文档。

点击运行后页面:

点击Guides向导终将会有向导列表

再点开后,就可以看到struts2支持的所有resultType:

默认的resultType是dispatcher.

常用的dispatcher,redirect,redirectAction,chain.

 package name="default" namespace="/" extends="struts-default">
<action name="testServletObject"
class="com.dx.actions.TestActionContextFetchServletObjectAction">
<result>/WEB-INF/test-context.jsp</result>
</action>
<!-- default class="com.opensymphony.xwork2.ActionSupport" method="execute" -->
<action name="gotoLoginPage">
<!-- name default value:"success" -->
<result>/login.jsp</result>
</action> <action name="logout" class="com.dx.actions.TestWithXXXAware"
method="logout">
<result name="logout-success">/login.jsp</result>
</action> <action name="login" class="com.dx.actions.TestWithXXXAware" method="login">
<result name="login-success">/WEB-INF/login-success.jsp</result>
</action> <action name="testResult" class="com.dx.actions.TestResultAction" method="test">
<!-- redirect到一个Action -->
<result name="redirectAction-success" type="redirectAction">
<param name="actionName">testRdirect</param>
<param name="namespace">/testNamespace</param>
</result>
<!-- redirect -->
<result name="redirect-success" type="redirect">/login.jsp</result>
<!-- dispatcher -->
<result name="dispatcher-success" type="dispatcher">/login.jsp</result>
</action> <action name="createAccount" class="com.dx.actions.AccountAction" method="execute">
<!-- chain -->
<result type="chain">login</result>
</action>
</package> <package name="testRedirectPackage" namespace="/testNamespace" extends="struts-default">
<action name="testRdirect" class="com.dx.actions.TestRedirectAction" method="test">
<result name="test-success">/WEB-INF/test-success.jsp</result>
</action>
</package>

TestRedirectAction.java

 package com.dx.actions;

 import org.apache.struts2.ServletActionContext;

 public class TestRedirectAction {
public String test() {
String resultType = ServletActionContext.getRequest().getParameter("resultType");
System.out.println(resultType);
ServletActionContext.getRequest().setAttribute("resultType", resultType);
System.out.println("TestRedirectAction.test");
return "test-success";
}
}

TestResultAction.java

 package com.dx.actions;

 import org.apache.struts2.ServletActionContext;

 import com.opensymphony.xwork2.ActionContext;

 import sun.nio.cs.ext.TIS_620;

 public class TestResultAction {
private String resultType; public void setResultType(String resultType) {
this.resultType = resultType;
} public String test() {
System.out.println(resultType); if (resultType.equalsIgnoreCase("dispatcher")) {
System.out.println("result dispatcher-success");
return "dispatcher-success";
} else if (resultType.equalsIgnoreCase("redirect")) {
System.out.println("result redirect-success");
return "redirect-success";
} else if (resultType.equalsIgnoreCase("redirectAction")) {
System.out.println("result redirectAction-success");
return "redirectAction-success";
} else if (resultType.equalsIgnoreCase("chain")) {
System.out.println("result chain-success");
return "chain-success";
} else {
System.out.println("no match");
} ServletActionContext.getRequest().setAttribute("resultType", this.resultType); return "";
}
}

AccountAction.java

 package com.dx.actions;

 public class AccountAction {
public String execute(){
System.out.println("acction action chain");
return "success";
}
}

index.jsp

<a href="testResult?resultType=redirectAction">redirectAction</a>
<br />
<a href="testResult?resultType=redirect">redirect</a>
<br />
<a href="testResult?resultType=dispatcher">dispatcher</a>
<br />
<a href="createAccount">test chain</a>

result配置还有很多需要注意的地方,可以参考:

file:///D:/Java_Study/struts-2.3.28-all/struts-2.3.28/docs/docs/result-configuration.html

这里就简单说明,介绍,一遍自己可以学习使用。

Struts2(六):ResultType的更多相关文章

  1. struts2(六) 文件上传和下载

    前面对文件下载提过一点点,这里正好要讲文件上传,就放在一起在说一遍. --WH 一.单文件上传 在没学struts2之前,我们要写文件上传,非常麻烦,需要手动一步步去获取表单中的各种属性,然后在进行相 ...

  2. Struts2(六)result

    一.result简述 result:输出结果:第个Action返回一个字符串,Struts2根据这个值来决定响应结果 name属性:result的逻辑名.和Actin里的返回值匹配,默认"s ...

  3. Struts2六、为应用指定多个配置文件

    为了使用Struts.xml更简洁,更利于维护,我们可以把Struts.xml要配置的Action信息分类别放在其他的XML文件中,使用include在struts.xml中加载这些文件: 将Web. ...

  4. Struts2(六) 用Struts完成客户列表显示

    Struts完成客户列表显示 所用的基础知识 在之前的随笔中已经讲过.这篇是介绍如何使用Struts 完成客户列表显示  . 下面是  完成的代码执行逻辑图: 抽取项目部分代码 相信大家认真看一遍就明 ...

  5. Struts2(六.用标签显示用户列表及Value Stack和Stack Context)

    一.用Struts2标签显示用户列表 原理: 在struts中可以通过在action中将所有用户的信息存入到某个范围中,然后转向userlist.jsp,进行访问 原则: 在jsp网页上,尽量不要出现 ...

  6. Struts2常量_Action配置路径_通配符

    Struts2中常用的常量 指定默认编码集,作用于HttpServletRequest的setCharacterEncoding方法 和freemarker .velocity的输出 <cons ...

  7. Struts2学习(四)

    struts-defualt.xml指定的result的类型 1.struts-defualt.xml 文件的 181 行 开始定义了: <result-types> <result ...

  8. (五)Struts2处理结果管理

    当Action处理完用户请求时,处理结果应该通过视图资源实现,但将哪个视图呈现给浏览者呢.由<result.../>来决定 Action处理完用户请求后,返回一个普通字符串.整个普通字符串 ...

  9. 【struts2】Result和ResultType

    简单的说,Result是Action执行完后返回的一个字符串,它指示了Action执行完成后,下一个页面在哪里.Result仅仅是个字符串,仅仅是用来指示下一个页面的,那么如何才能够到达下一个页面呢? ...

随机推荐

  1. jquery 操作iframe的几种方法总结

    iframe在复合文档中经常用到,利用jquery操作iframe可以大幅提高效率,这里收集一些基本操作 DOM方法: 父窗口操作IFRAME:window.frames["iframeSo ...

  2. ihhh题解

    10分做法: 由于空间卡得紧,所以给了10分暴力分0.0所以大家很容易就知道暴力就是线段树套ac自动机辣时间:$O((\sum |qSi| + \sum |nSi|)*log Q)$空间:$O((\s ...

  3. CF 2B.The least round way

    题目链接 很久以前就见过此题,以前看了题解,然后今天写了写,写的真搓. #include <cstdio> #include <cstring> #include <st ...

  4. BZOJ1110: [POI2007]砝码Odw

    Description 在byteotian公司搬家的时候,他们发现他们的大量的精密砝码的搬运是一件恼人的工作.公司有一些固定容量的容器可以装这些砝码.他们想装尽量多的砝码以便搬运,并且丢弃剩下的砝码 ...

  5. Eclipse 使用maven创建Dynamic Web Project

    今天看到spring的官网首页已经没有下载连接了,建议使用maven构建spring项目.虽然maven已经不是新技术,但是这个我还没用过,谷歌走起! 通常创建项目都是用Eclipse,前几年还是My ...

  6. VS2010 C++环境下DLL和LIB文件目录及名称修改

    VS2010 C++环境下DLL和LIB文件目录及名称修改 转自:http://blog.csdn.net/archielau/article/details/8507581 DLL工程,Debug版 ...

  7. node.js不得不说的12点内容

    1.node.js,服务器端的javascript,它允许在后端(脱离浏览器环境)运行javascript代码. 2.事件驱动.异步式I/O的编程模式(单线程)是其核心. 3.node.js的java ...

  8. 兼容性好的CSS字体投影

    <p>兼容性良好的css文字描边</p> <style><!-- h1, p { color: #fff; width: 100%; text-align: ...

  9. 搜索框js样式(通用型)

    HTML部分代码: -------------------------------------------------------------- <div class="search_ ...

  10. 一段能导致火狐、谷歌Safari浏览器崩溃,甚至让iPhone重启的代码

    JavaScript代码,能导致火狐.谷歌Safari浏览器崩溃,甚至让iPhone重启 <html> <body> <script> var total = &q ...