在Struts2中的结果集类型_java

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

时间: 2016-04-11

在Struts2中的结果集类型_java的相关文章

【转】Struts2中转换Date类型的问题

好久没有写Blog了,最近似乎变懒了.今天上班没有很多事,于是把之前遇到的一个问题记录下来. Web开发会涉及到很多类型转换的情况.我们知道,页面中的一切值都是字符串类型,而到后台,我们需要的可能是其他各种类型:同时,页面显示也是字符串类型.这就涉及到Web中基本的类型转换问题:从String转换为各种类型与从各种类型转换为String类型. 在Java Web开发中,进行上述转换一般有以下几种:1.在Servlet中,这一切的转换我们得自己写代码完成:2.在Struts1.x中,我们通过apa

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

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

详解在Java的Struts2框架中配置Action的方法_java

在Struts2中Action部分,也就是Controller层采用了低侵入的方式.为什么这么说?这是因为在Struts2中action类并不需要继承任何的基类,或实现任何的接口,更没有与Servlet的API直接耦合.它通常更像一个普通的POJO(通常应该包含一个无参数的execute方法),而且可以在内容定义一系列的方法(无参方法),并可以通过配置的方式,把每一个方法都当作一个独立的action来使用,从而实现代码复用. 例如: package example; public class U

深入理解Java中的字符串类型_java

1.Java内置对字符串的支持: 所谓的内置支持,即不用像C语言通过char指针实现字符串类型,并且Java的字符串编码是符合Unicode编码标准,这也意味着不用像C++那样通过使用string和wstring类实现与C语言兼容和Unicode标准.Java内部通过String类实现对字符串类型的支持.这意味着:我们可以直接对字符串常量调用和String对象同样的方法: //可以再"abc"上直接调用String对象的所有方法 int length="abc".l

SSH框架网上商城项目第24战之Struts2中处理多个Model请求的方法_java

1. 问题的提出 Struts2中如果实现了ModelDriven<model>接口就可以将传来的参数注入到model中了,就可以在Action中使用该model,但是如果现在有两个model都需要在同一个Action中使用该咋整呢?比如上一节我们完成了在线支付功能,但是支付完成了还没结束,我们需要接收从第三方那边反馈回来的信息,比如成功支付后,我们需要给付款方发送邮件和短信等.所以我们还需要在payAction中获取从第三方传过来的参数,由于从第三方传过来的参数与我们传过去的参数是不同的,所

Struts2中图片以base64方式上传至数据库_java

1.页面 这里输入代码 <div> <span id="uploadImg" style="margin:50px;background-color:#ddd;display:inline-block;height:130px;width:200px;"> <span style="color:#bbb;font-weight:600;border:2px #ccc dashed;font-size:20px;text-ali

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

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

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

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

Struts2中的数据处理的三种方式对比(Action中三种作用域request,session,application对象)

1:在Action中如何获得作用域(request,session,application)对象: 取得Map(键值对映射集)类型的requet,session,application; 对数据操作的所有方法:(即把数据保存到域中) 主要使用的是方式2和方式3: 方式1:直接获取ServletApi,核心类是ServletActionContext提供的静态的方法; 1 package com.bie.lesson04; 2 3 import javax.servlet.ServletConte