在Struts2中的结果集类型

2016-02-19 10:34 6 1 收藏

有了下面这个在Struts2中的结果集类型教程,不懂在Struts2中的结果集类型的也能装懂了,赶紧get起来装逼一下吧!

【 tulaoshi.com - 编程语言 】

1、每个action方法都返回一个String类型的值,struts一次请求返回什么值是由这个值确定的。

2、在配置文件中,每一个action元素的配置都必须有result元素,每一个result对应一个action的返回值。

3、Result有两个属性:

name:结果的名字,和action中的返回值一样,默认值为success;

type:响应结果类型,默认值为dispatcher.

下面找到struts-default.xml文件中,如下面所示:

说明:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

1、从上述可以看出总共10种类型

2、默认类型为ServletDispatcherResult即转发。

3、结果类型可以是这10种结果类型的任意一种。

Dispatcher类型(1)、 说明

Dispatcher类型是最常用的结果类型,也是struts框架默认的结果类型。

(2)、 例子

页面参照:/manager/index.jsp

Action参照:AdminAction

配置文件:struts.xml

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

在配置文件中,可以有两种写法:


下面的图说明了location的来历:


查看源码:

6.2.2 Redirect类型(1)、 说明

Redirect属于重定向。如果用redirect类型,则在reuqest作用域的值不能传递到前台。

redirectAction类型(1)、说明

1、把结果类型重新定向到action

2、可以接受两种参数

a)     actionName: action的名字

b)     namespace:命名空间

第一种方式:

result name="success" type="redirectAction"resulttype/redirectactionAction.action/result

第二种方式:

result name="success" type="redirectAction"

     !--

          actionName:

               请求的action的路径

          namespace:

               如果不写,默认就是请求的action的路径,如果写,路径将被重新赋值

     --

     param name="actionName"

          resulttype/redirectactionAction.action

     /param

/result

 (2)、 例子

第一种方式:

result name="success" type="redirectAction"resulttype/redirectactionAction.action/result

第二种方式:

result name="success"type="redirectAction"

     !--

          actionName:

               请求的action的路径

          namespace:

               如果不写,默认就是请求的action的路径,如果写,路径将被重新赋值

     --

     paramname="actionName"

          resulttype/redirectactionAction.action

     /param

/result


package name=”ss” namespace=”/csdn/csdn”

     action=”delete”

/package

package name=”test” namespace=”/csdn”

action=”delete”

/package

package name=”sss” namespace=””

 action=”delete”

/package

Action名称的搜索顺序

1、获得请求路径的URI,例如url是:http://server/struts2/path1/path2/path3/test.action

2.首先寻找namespace为/path1/path2/path3的package,如果存在这个package,则在这个package中寻找名字为test的action,如果不存在这个package则转步骤3;

3.寻找namespace为/path1/path2的package,如果存在这个package,则在这个package中寻找名字为test的action,如果不存在这个package,则转步骤4;

4.寻找namespace为/path1的package,如果存在这个package,则在这个package中寻找名字为test的action,如果仍然不存在这个package,就去默认的namaspace的package下面去找名字为test的action(默认的命名空间为空字符串""),如果还是找不到,页面提示找不到action。

Action原型struts2

   Prototype 原型   每次请求都会创建一个新的Action对象


Servlet

   

   Singleton 原型   当第一次请求时,创建servlet对象 之后每次都使用该对象即可。

Servlet的生命周期

      创建---init---service---destory


来源:http://www.tulaoshi.com/n/20160219/1595065.html

延伸阅读
很多互联网应用程序都提供了全文搜索功能,用户可以使用一个词或者词语片断作为查询项目来定位匹配的记录。在后台,这些程序使用在一个SELECT查询中的LIKE语句来执行这种查询,尽管这种方法可行,但对于全文查找而言,这是一种效率极端低下的方法,尤其在处理大量数据的时候。 MySQL针对这一问题提供了一种基于内建的全文查找方式的解...
6.8 其他主题 本节包括几个主题,这些主题不完全适合于本章从client1到client5 的开发中的任一小节的内容: ■ 在使用结果集元数据帮助验证这些数据适合于计算之后,使用结果集数据计算结果。 ■ 如何处理很难插入到查询中的数据。 ■ 如何处理图形数据。 ■ 如何获得表结构的信息。 ■ 常见的MySQL程序设计...
标签: MySQL mysql数据库
很多互联网应用程序都提供了全文搜索功能,用户可以使用一个词或者词语片断作为查询项目来定位匹配的记录。在后台,这些程序使用在一个SELECT查询中的LIKE语句来执行这种查询,尽管这种方法可行,但对于全文查找而言,这是一种效率极端低下的方法,尤其在处理大量数据的时候。 MySQL针对这一问题提供了一种基于内建的全文查找方式的解决方案...
一、访问或添加request/session/application属性 public String scope() throws Exception{    ActionContext ctx = ActionContext.getContext();    ctx.getApplication().put("app", "应用范围");//往ServletContext里放入app    ctx.getSession().put("ses", "session范围");//往session里放入ses  &...
内容: 一.下载并安装Easy Struts包二.配置和开发struts应用项目三.总结参考资料关于作者 相关内容: TCP/IP 介绍TCP/IP 介绍 -- Java 专区中还有: 教学工具与产品代码与组件所有文章实用技巧 刘冬 (winter.lau@163.com) 珠海市创我科技发展有限公司软件工程师 2003 年 7 月 一. 下载并安装Easy Struts包 1. Easy ...

经验教程

507

收藏

8
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部