`
Candy_Code
  • 浏览: 13824 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

struts2学习笔记02-Action的配置及自定义action

阅读更多
第二章 Action
2.0 action 的作用
将请求与界面分开具体视图的返回由Action来决定。
具体手段是根据action返回的字符串找到具体的配置项。
例如:action有如下方法

public String execute(){
	if(name== null || !name.equals(“admin”)){
		return “error”;
	}
	return “success”;
}


则在struts.xml中可以这样配置

<action name="user" class="com.jnmc.unique.ModelDriven.Action">
<result>/user_add_success.jsp</result>
<result name="error">/user_add_error.jsp</result>
</action>


如果execute返回error,则访问user_add_error.jsp.若返回success,则访问user_add_success.jsp
<result>的name属性默认是success,所以success可以不写

2.1 package
【属性作用】
name:必选属性。包名,用于定义action的访问路径,所以可以区分同名的action
extends:可选属性。指定父包。子包会继承父包的所有配置。
namespace:可选属性。定义action访问路径。若不指定,默认namespace=”” ,表示匹配所有路径。即只要指定action的名字,敲任何路径都可以访问到该包下对应的action。

2.2 action


【属性作用】
type:可选。设置页面跳转的类型。属性值可以为是chain、redirect、dispatcher、redirectAction等。
class:可选。指定action类的完整名。若不指定,则默认为com.opensymphony.xwork2.ActionSupport类
因为struts-default.xml中有如下配置:

<default-class-ref class="com.opensymphony.xwork2.ActionSupport" />


name:必选。指定action的访问名。访问形式为actionName.extension。
extension为后缀名,由于default.properties中有如下配置:
struts.action.extension=action,,
这句话指定了在默认情况下action的后缀名为action或者为空。
当然,如果不想使用默认配置,我们可以修改action的后缀名,只需在struts.xml中配置一个常量,如:设置后缀名为do或空

<constant name="struts.action.extension" value="do,," />


2.3 定义自己的action


可以有三种方法,其中第三种方法最常用,前两种只做了解。
(1).自定义Action类


①自义类,该类只要拥有如下方法即可
public String execute(){
        return “success”;
}
缺点:难于控制,容易写错,并且没有继承来的方法可用

②因为所有Action均继承自Action接口
所以只需实现Action接口,并实现execute()方法

缺点:其中的方法都是空的,没有实际作用
③继承com.opensymphony.xwork2.ActionSupport类(最常用)

优点:已经封装各种有用的方法


(2).struts.xml配置

最后不要忘了在struts.xml中注册我们自己的action

<action name="index" class=”packagename.classname”>
<result>/index.jsp</result>
</action>
0
0
分享到:
评论

相关推荐

    Struts2 学习笔记

    01 Struts2-Action 5 一、 Struts作用: 5 二、 搭建Struts2的运行环境: 5 三、 Namespace 6 四、 标签 6 五、 Action 6 六、 路径问题的说明 8 七、 Action的动态调用方法 8 八、 Action通配符(wildcard)的配置 9 ...

    struts2学习笔记

    struts2学习笔记,拦截器,action,所需jar包,从零开始

    struts2 学习笔记 实战

    namespace :对应与项目名称后面的"/"(例如Struts2_0100_Introduction后面的"/") (http://localhost:8080/Struts2_0100_Introduction/) 四、 标签 是用来解决重名的问题,例如当系统的前台和后台都有一个action...

    Struts2_Action学习笔记、通配符{1},{2}

    Struts2_Action学习笔记、通配符{1},{2}......

    struts2学习笔记!

    struts2学习笔记!因为还没有全部学完,所以分部分分享!主要内容:struts.xml配置,web.xml配置 Action要点!全局类型转换,部分类型转换,类型转换文件 类型装换错误的处理问题局部使用,把中文汉字转换为编码 struts2对...

    struts项目学习笔记

    Struts2 是一个非常优秀的MVC框架,基于Model2 设计模型 由传统Struts1和WebWork两个经典框架发展而来 Struts2框架=Struts2+XWork Strust2 核心功能 允许POJO(Plain Old Java Objects,简单javabean对象,没有继承,...

    struts2学习笔记 很基础 容易懂

    struts2学习笔记 很基础 容易懂第一个struts2的web用户登录工程:创建一个web工程-&gt;创建login.jsp(创建advanced的JSP)-&gt;登录的form表单(注意:action=“login.action”)-&gt;编写完成后配置

    struts2学习笔记,总结了很多学习的经验

    struts2学习笔记,总结了很多学习的经验,标签的使用,action的使用。struts2.0 和 struts2.1 的区别

    struts2.2学习笔记

    struts2.2学习笔记总结,action,拦截器,过滤器,国际化,struts.xml解析等的总结。

    Groovy学习笔记 Struts2集成--Groovy类作为Action

    NULL 博文链接:https://rsljdkt.iteye.com/blog/859059

    struts1.2学习笔记

    struts1.2学习笔记了解struts工作流程: 首先struts基于MVC模式, 用户发送的请求讲被ActionServlet处理,转发,但是它是怎样实现的了??

    struts学习笔记

    建立一个Java Web项目,提取最少运行Struts2应用的包集合,目标:实现一个简单的用户登录 包括内容: 一、先实现登录页面 二、实现处理页面的Action 三、配置Web.xml 四、配置Action处理结果和资源资源之间的映射关系 ...

    【张冰Struts2学习笔记】0201_Action接口与ActionSupport类

    NULL 博文链接:https://coderdream.iteye.com/blog/812871

    Struts1.3 备忘笔记

    Struts 1.3 备忘笔记 【资源特点】 1、以项目形式组织,包含所有的源代码 2、内含详细的注释说明 3、知识点较全面 【内容目录】 01 Struts_01HandworkApply : 手工配置Struct应用程序,演示用户提交数据后服务器的...

    struts学习笔记(2)

    当前struts2的filter过滤到一个.action结尾的请求的时候,会把这个请求交给struts2内部的拦截器(interceptor) 2)拦截器起到什么作用 可以帮我们丰富action的功能,比自动类型转换(页面传一个String类型的id,接收的...

    struts学习笔记(3)

    当客户端向action发送请求并且最后跳转到另外一个页面的时候,在跳转的同时,struts2框架会帮我们自动把需要传到页面的值放这两个对象当中去,然后我们在页面就可以使用固定的方式把值从这个两个对象里面取出来了。...

    Struts 2.1.8_学习源码

    Struts2_02CURD : 关于Struts2的增、删、改和查 实际业务中数据来自数据库,从DAO层查询,本实例使用静态资源的方式模拟, 主要是关于CURD的操作方式。 Struts2_03Taglib : Struts2常用标签的使用方法 Struts2...

    struts2的学习笔记+测试源代码

    struts2中action路径的搜索顺序 博文链接:https://wuzhaohuixy-qq-com.iteye.com/blog/710102

    Struts2学习笔记(2)-路径问题解决

    本文主要介绍Struts2的路径问题,尽量不要使用相对路径,使用相对路径会让路径问题变得很繁琐很麻烦,推荐使用绝对路径,希望能给大家做一个参考。

    Struts2学习笔记(5)-参数传递方法

    本文主要介绍Struts2中参数传递方法,希望能给大家做一个参考。

Global site tag (gtag.js) - Google Analytics