实现Action的几种方法
1. implements Action
2. extends ActionSupport
3. 也可以不继承任何父类不实现任何借口

#当一个类有多个方法

package com.struts.test;
import com.opensymphony.xwork2.ActionSupport;
public class Test extends ActionSupport {
private static final long serialVersionUID = 1L; @Override
public String execute() throws Exception {
System.out.println("execute");
return SUCCESS;
} public String add() throws Exception {
System.out.print("add");
return "add";
} public String update() throws Exception {
System.out.print("update");
return "update";
} public String delete() throws Exception {
System.out.print("delete");
return "delete";
}
}

如上方法,里面有add()、update()、delete();
这么多方法该如何配置?
1. 配置多个action

<package name="struts_two" extends="struts-default">

    <!-- 执行Test类中的update方法 -->
<action name="test_one_struts" class="com.struts.test.Test" method="update">
<!-- 返回跳转到Test_update.jsp页面 -->
<result name="update">/Test_update.jsp</result>
</action> <!-- 执行Test类中的delete方法 -->
<action name="test_one_struts" class="com.struts.test.Test" method="delete">
<!-- 返回跳转到Test_delete.jsp页面 -->
<result name="delete">/Test_delete.jsp</result>
</action> <!-- 执行Test类中的add方法 -->
<action name="test_one_struts" class="com.struts.test.Test" method="add">
<!-- 返回跳转到Test_add.jsp页面 -->
<result name="add">/Test_add.jsp</result>
</action>
</package>

2.动态配置(不推荐)

<!--#2.5版本需要打开动态配置
<constant value="true" name="struts.enable.DynamicMethodInvocation"/>
-->
<package>
<action name="test_one_struts" class="com.struts.test.Test">
<result name="update">/Test_update.jsp</result>
<result name="delete">/Test_delete.jsp</result>
<result name="add">/Test_add.jsp</result>
</action>
</package>

3.通配符配置(推荐)

<package>
<!--
* 通配符
根据你输入的路径来判断你是执行什么方法
比如:你输入 Test_delete,那么就会执行Test_类的delete方法,并且跳转到对应的页面
-->
<action name="Test_*" class="com.struts.test.Test" method="{1}">
<result name="{1}">/Test_{1}.jsp</result>
<!-- 2.5版本及以上必须配置<allowed-methods>标签,允许的方法 -->
<allowed-methods>add,delete,update,select</allowed-methods>
</action>
</package>

JavaEE笔记(六)的更多相关文章

  1. 《MFC游戏开发》笔记六 图像双缓冲技术:实现一个流畅的动画

    本系列文章由七十一雾央编写,转载请注明出处.  http://blog.csdn.net/u011371356/article/details/9334121 作者:七十一雾央 新浪微博:http:/ ...

  2. java之jvm学习笔记六-十二(实践写自己的安全管理器)(jar包的代码认证和签名) (实践对jar包的代码签名) (策略文件)(策略和保护域) (访问控制器) (访问控制器的栈校验机制) (jvm基本结构)

    java之jvm学习笔记六(实践写自己的安全管理器) 安全管理器SecurityManager里设计的内容实在是非常的庞大,它的核心方法就是checkPerssiom这个方法里又调用 AccessCo ...

  3. Learning ROS for Robotics Programming Second Edition学习笔记(六) indigo xtion pro live

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...

  4. Python学习笔记六

    Python课堂笔记六 常用模块已经可以在单位实际项目中使用,可以实现运维自动化.无需手工备份文件,数据库,拷贝,压缩. 常用模块 time模块 time.time time.localtime ti ...

  5. Typescript 学习笔记六:接口

    中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...

  6. Django开发笔记六

    Django开发笔记一 Django开发笔记二 Django开发笔记三 Django开发笔记四 Django开发笔记五 Django开发笔记六 1.登录功能完善 登录成功应该是重定向到首页,而不是转发 ...

  7. python3.4学习笔记(六) 常用快捷键使用技巧,持续更新

    python3.4学习笔记(六) 常用快捷键使用技巧,持续更新 安装IDLE后鼠标右键点击*.py 文件,可以看到Edit with IDLE 选择这个可以直接打开编辑器.IDLE默认不能显示行号,使 ...

  8. Go语言学习笔记六: 循环语句

    Go语言学习笔记六: 循环语句 今天学了一个格式化代码的命令:gofmt -w chapter6.go for循环 for循环有3种形式: for init; condition; increment ...

  9. 【opencv学习笔记六】图像的ROI区域选择与复制

    图像的数据量还是比较大的,对整张图片进行处理会影响我们的处理效率,因此常常只对图像中我们需要的部分进行处理,也就是感兴趣区域ROI.今天我们来看一下如何设置图像的感兴趣区域ROI.以及对ROI区域图像 ...

  10. Linux学习笔记(六) 进程管理

    1.进程基础 当输入一个命令时,shell 会同时启动一个进程,这种任务与进程分离的方式是 Linux 系统上重要的概念 每个执行的任务都称为进程,在每个进程启动时,系统都会给它指定一个唯一的 ID, ...

随机推荐

  1. zabbix系列之三——安装报错

    1Zabbix_server启动失败 1.1查看日志:vi /var/log/zabbix/zabbix_server.log zabbix_server [23500]: cannot open l ...

  2. 判断js对象类型

    javascript中检测对象的类型的运算符有:typeof.constructor.instanceof.prototype. 1.typeof typeof是一个一元运算符,返回结果是一个说明运算 ...

  3. python文本文件处理和用户输入

    #用户输入 a = input('please input: ') #这个输入什么即是什么,比如输入1,则a变量=1,输入'abc',则a变量 = 'abc',输入abc则报错,因为会把abc当做一个 ...

  4. 一键安装lnmp1.5

    系统需求: CentOS/RHEL/Fedora/Debian/Ubuntu/Raspbian/Deepin/Aliyun/Amazon/Mint Linux发行版 需要5GB以上硬盘剩余空间,MyS ...

  5. (转)Matlab矩阵的简单操作

    转自:http://blog.sina.com.cn/s/blog_6264e23a0100veeq.html

  6. (1)线程的同步机制 (2)网络编程的常识 (3)基于tcp协议的编程模型

    1.线程的同步机制(重点)1.1 基本概念 当多个线程同时访问同一种共享资源时可能会造成数据的覆盖和不一致等问题,此时就需要对线程之间进行协调和通信,该方式就叫线程的同步机制. 如: 2003年左右 ...

  7. Maven实战系列文章目录

    Maven实战(一)安装与配置 Maven实战(二)构建简单Maven项目 Maven实战(三)Eclipse构建Maven项目 Maven实战(四)生命周期 Maven实战(五)坐标详解 Maven ...

  8. linux块设备缓存bcache

    1 Bcache介绍Bcache是一种缓存技术,它是根据SSD的特性设计的,由于SSD的随机读写速度要比普通硬盘的随机读写快N多倍,但是一般SSD的容量小且贵,当然土豪除外,所以我们可以综合SSD的读 ...

  9. Connection:Keep-alive

    名词解释: HTTP无状态:无状态是指协议对于事务处理没有记忆能力,服务器不知道客户端是什么状态.从另一方面讲,打开一个服务器上的网页和你之前打开这个服务器上的网页之间没有任何联系 如果你要实现一个购 ...

  10. Java虚拟机17:互斥同步、锁优化及synchronized和volatile

    互斥同步 互斥同步(Mutual Exclusion & Synchronization)是常见的一种并发正确性保证手段.同步是指子啊多个线程并发访问共享数据时,保证共享数据在同一时刻只能被一 ...