本章节将继续学习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. 【BZOJ】1132: [POI2008]Tro

    题意 给\(n(1 \le n \le 3000)\)个点,求所有三角形的面积和. 分析 首先枚举一个点,发现把其它点按照关于这个点的极角排序后第\(i\)个点关于前面\(1\)到\(i-1\)的点组 ...

  2. Xcode的command+shift+o是一个不错的工具

    一,经历 1.在向UITextField中输入图片的时候,可以使用 NSAttributedString 添加,但是很难找到能够返回NSAttributedString对象的方法. 2.通过comma ...

  3. 最详细eclipse汉化插件安装教程

    最详细eclipse汉化插件安装教程(转) 转自:http://blog.csdn.net/dai_zhenliang/article/details/8588576#t4 教程作者:戴振良 本文与& ...

  4. java编程eclipse常用快捷键方式

    Eclipse 常用快捷键 Eclipse的编辑功能非常强大,掌握了Eclipse快捷键功能,能够大大提高开发效率.Eclipse中有如下一些和编辑相关的快捷键. 1. [ALT+/] 此快捷键为用户 ...

  5. CSS3是怎么实现全景特效?

    很有意思的全景动画:(直接上代码) html部分: <div class="panorama"></div> css部分: .panorama{ width ...

  6. JQuery基本方法介绍和使用

    1.属性 $("p").addClass(css中定义的样式类型); 给某个元素添加样式 常用于表格鼠标移动效果 $(document).ready(function(){ //& ...

  7. Jquery dialog属性

    修改标题: $('#test').dialog("option","title", "测试").dialog('open'); 修改位置: ...

  8. 使用Font Awesome替换你的网站图标

    http://fortawesome.github.io/Font-Awesome/whats-new/ 使用Font Awesome替换你的网站图标 ******************IE7BUG ...

  9. BizTalk开发系列(十六) XML命名空间

    BizTalk开发过程中如果有对XML进行开发操作,比如在自定义代码里操作XML消息或者在Mapping的时候使用Xpath对XML进行操 作.则有机会遇到XML命名空间的问题.常见的是使用Xpath ...

  10. .net获取select控件中的文本内容

    .net获取select控件中的文本内容 2009-11-28 21:19小V古 | 分类:C#/.NET | 浏览1374次 <select id="SecType" st ...