在Struts2中的结果集类型

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

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

3、Result有两个属性:

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

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

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

说明:

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

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

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

Dispatcher类型(1)、 说明

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

(2)、 例子

页面参照:/manager/index.jsp

Action参照:AdminAction

配置文件:struts.xml

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

下面的图说明了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

(0)

相关推荐

  • Struts2学习笔记(8)-Result常用类型

    Result也是Struts2比较重要的一部分,在Result的配置中常用的有四种类型:dispatcher.redirect.chain和redirectAction,在这四种中又以前两种最为常见. 例: <struts> <constant name="struts.devMode" value="true" /> <package name="resultTypes" namespace="/r&qu

  • 一篇文章搞定Struts2的类型转换

    前言 我们知道通过HTTP提交到后台的数据,都是字符串的形式,而我们需要的数据类型当然不只字符串类型一种.所以,我们需要类型转换!下面来看看详细的介绍吧. 一.类型转换的意义 所有的MVC框架,解决的都是表现层的解决方案,都需要收集用户请求参数,并把参数提供给控制器.但是,在Web应用中所有的请求参数都是字符串类型的,Java是强类型的语言,如何将字符串转换为Java类型,这是框架要解决的一个问题. 例如,一个注册页需要输入年龄.日期等.这时候就需要将日期.年龄字符串转换为相应类型. 二.Str

  • Struts2开发 基本配置与类型转换

    一.Action配置中的各项默认值 <package name="csdn" namespace="/test" extends="struts-default">        <action name="helloworld" class="cn.csdn.action.HelloWorldAction" method="execute" > <resu

  • 关于Struts2的类型转换详解

    一.类型转换的意义 对于一个智能的MVC框架而言,不可避免的需要实现类型转换.因为B/S(浏览器/服务器)结构应用的请求参数是通过浏览器发送到服务器的,这些参数不可能有丰富的数据类型,因此必须在服务器端完成数据类型的转换 MVC框架是一个表现层解决方案,理应提供类型转换的支持,Struts2提供了功能非常强大的类型转换支持. 二.表现层数据的处理 1.对于web应用而言,表现层主要用于与用户交互,包括收集用户输入数据,向用户呈现服务器的状态.因此表现层的数据的流向主要有两个方向:输入数据和输出数

  • 如何解决struts2日期类型转换

    因此要想保证系统一定要正确第对Date类型进行转换,就要写一个全局的类型转换类,进行Date与String之间的类型转换. 复制代码 代码如下: package com.great.util; import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.Date;import java.util.Map; import com.opensymphony.xwork2.conversion.impl.

  • 在Struts2中的结果集类型

    1.每个action方法都返回一个String类型的值,struts一次请求返回什么值是由这个值确定的. 2.在配置文件中,每一个action元素的配置都必须有result元素,每一个result对应一个action的返回值. 3.Result有两个属性: name:结果的名字,和action中的返回值一样,默认值为success; type:响应结果类型,默认值为dispatcher. 在下面找到struts-default.xml文件中,如下面所示: 说明: 1.从上述可以看出总共10种类型

  • Struts2中ognl遍历数组,list和map方法详解

    一.简介 <s:iterator />可以遍历数据栈里面的任何数组,集合等等 在使用这个标签的时候有三个属性值得我们关注 1. value属性:可选的属性,value属性是指一个被迭代的集合,使用ognl表达式指定,如果为空的话默认就是ValueStack栈顶的集合. 2.id属性:可选属性, 是指集合元素的id 3.status属性:可选属性,该属性在迭代时会产生一个IteratorStatus对象,该对象可以判断当前元素的位置,包含了以下属性方法: int getCount(); 迭代元素

  • struts2中类型转换实例代码

    类型转换 所有的页面与控制器传递的数据都是String类型,在对其进行处理时可能会用到各种的数据类型,程序无法自动完成数据类型的转换,这就需要我们在代码中进行手手动操作,这个过程就称为类型转换. 内置类型转换器 在Web应用程序中,用户在视图层输入的数据都是字符串,业务控制层在处理这些数据时,就必须把从视图层传递过来的字符串进行类型转换.Struts2提供了简单易用的数据类型转换机制,struts2提供的类型转换如下: 1)String:将int.long.double.boolean.Stri

  • struts2中使用注解配置Action方法详解

    使用注解来配置Action可以实现零配置,零配置将从基于纯XML的配置转化为基于注解的配置.使用注解,可以在大多数情况下避免使用struts.xml文件来进行配置. struts2框架提供了四个与Action相关的注解类型,分别为ParentPackage.Namespace.Result和Action. ParentPackage:ParentPackage注解用于指定Action所在的包要继承的父包.该注解只有一个value参数.用于指定要继承的父包. 示例: 使用ParentPackage

  • Struts2学习教程之自定义类型转换器的方法

    前言 为什么要在struts2中类型转换器? :struts2 只能够对java中的8种原态类型以及String.Date等常用类型提供自动转换. 但是这绝对不能满足我们的需求,如果我们想将页面的数据整合成一个javabean.到Action中去时Action得到的是一个对象,那么这个需求就需要我们使用类型转换器. 大部分时候,使用Struts2框架提供的内建的类型转换器和基于OGNL的类型转换器,就能满足大部分的类型转换需求:但是也存在一些特殊的情况下,可能需要将一个指定格式的字符串转换成一个

  • 在AWS-EC2中安装Minikube集群的详细过程

    目录 一.启动EC2实例(Ubantu) 1.选择实例镜像 2.选择实例类型 3.添加存储(最低10GiB) 4.添加标签(可选) 5.添加安全组(按需求开放端口) 6.核验并启动实例 7.查看实例 二.登录到实例 1.打开SecureCRT 2.导入密钥 3.连接实例 三.安装kubectl(Ubuntu用户非root) 四.安装Docker(ubuntu用户) 五.安装并查看MiniKube 1.安装conntrack(root 用户) 2.安装minikube 六.启动miniKube并检

  • 详解Struts2中对未登录jsp页面实现拦截功能

    Struts2中拦截器大家都很经常使用,但是拦截器只能拦截action不能拦截jsp页面.这个时候就有点尴尬了,按道理来说没登录的用户只能看login界面不能够通过输入URL进行界面跳转,这显然是不合理的.这里介绍Struts2中Filter实现jsp页面拦截的功能.(有兴趣的人可以去研究Filter过滤器的其它用法,因为利用过滤器也可以实现action拦截的功能) 下面直接上代码,边看边分析实现步骤和原理. 1.web.xml中的配置信息: <filter> <filter-name&

  • struts2中通过json传值解决乱码问题的实现方法

    本文实例讲述了struts2中通过json传值解决乱码问题的实现方法.分享给大家供大家参考,具体如下: 在struts2中如果使用json在jsp和java文件传中文值时往往会出现中文乱码访问,解决此问题可以使用以下方法 一.在js文件中使用 encodeURI来编码,例子: var url = "orderPrint.action?roomName="+encodeURI(encodeUR(roomName)); $.post(url,function(data){ } 二.在jav

  • Struts2中Action中是否需要实现Execute方法

    今天有朋友问我Struts2中Action必须实现execute方法吗?顺利的回答出来了. 其实分两种情况: 1)如果你的Action类是继承自ActionSupport或是BaseAction的话,确切的说是重写了execute方法,ActionSupport里的默认实现就是返回"success"视图.因此,你可以不实现execute方法,只要你的struts.xml里有"success"对应的result即可. <action name="doR

  • jsp 开发之struts2中s:select标签的使用

    jsp 开发之struts2中s:select标签的使用 1.第一个例子: <s:select list="{'aa','bb','cc'}" theme="simple" headerKey="00" headerValue="00"></s:select> 2.第二个例子: <s:select list="#{1:'aa',2:'bb',3:'cc'}" label=&qu

随机推荐