Struts2_004_Action类概述
来源:互联网 发布:java做的小游戏 编辑:程序博客网 时间:2024/06/05 00:58
- action: 应用程序可以完成的每一个操作. 例如: 显示一个登陆表单; 把产品信息保存起来
- Action类: 普通的 Java 类, 可以有属性和方法, 同时必须遵守下面这些规则:
- 属性的名字必须遵守与 JavaBeans 属性名相同的命名规则. 属性的类型可以是任意类型. 从字符串到非字符串(基本数据库类型)之间的数据转换可以自动发生
- 必须有一个不带参的构造器
- 至少有一个供 struts 在执行这个 action 时调用的方法
- 同一个 Action 类可以包含多个 action 方法.
- Struts2 会为每一个 HTTP 请求创建一个新的 Action 实例(线程安全)
测试代码
Action类(Person)
package top.itcourse.action;/** * * @author mac * 这是一个Action类。 * Action类是什么: * 1.1.能够处理struts2请求的一个类(最直接的就是会返回一个对应result节点的字符串)。 * 1.2.规范:JavaBean的规范 * 1.2.1.属性规范。 * 1.2.2.get和set方法定义规范(表单提交的时候是看的方法名)。 * 1.2.3.一个空参构造器。 * 1.3.至少有一个供 struts 在执行这个 action 时调用的方法(对应到result节点的字符串返回值)。 * 1.4.同一个 Action 类可以包含多个 action 方法。 * 1.5.Struts2 会为每一个 HTTP 请求创建一个新的 Action 实例(Action不是单例的,线程安全) */public class Person { private String name; private int age; private String gender; public Person() { System.out.println("我看看我不存在线程安全问题(打印次数超过1,就安全)。"); } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } @Override public String toString() { return "Person [name=" + name + ", age=" + age + ", gender=" + gender + "]"; } // 被action调用的方法(可以设置多个action方法,去对应result节点) public String trigger() { // 看看情况 System.out.println(toString()); return "ok"; }}
struts.xml文件
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <package name="default" extends="struts-default"> <!-- 1.action是什么: 1.1.一个struts2请求就是一个action。 2.Action类是什么: 2.1.能够处理struts2请求的一个类(最直接的就是会返回一个对应result节点的字符串)。 2.2.规范:JavaBean的规范 2.2.1.属性规范。 2.2.2.get和set方法定义规范(表单提交的时候是看的方法名)。 2.2.3.一个空参构造器。 2.3.至少有一个供 struts 在执行这个 action 时调用的方法(对应到result节点的字符串返回值)。 2.4.同一个 Action 类可以包含多个 action 方法。 2.5.Struts2 会为每一个 HTTP 请求创建一个新的 Action 实例 --> <action name="access" class="top.itcourse.action.Person" method="trigger"> <result name="ok">result.jsp</result> </action> </package></struts>
index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html><html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>2017</title> <!-- 导入jQuery文件 --> <script src="js/jquery-1.10.1.js" type="text/javascript" charset="utf-8"></script> <!-- script书写位置 --> <script type="text/javascript"> </script> </head> <body> <!-- 根据action对应的Action类,完成输入数据的自动复制(Person.java) --> <form action="access.action" method="post"> 姓名:<input type="text" name="name"/> <br /> 年龄:<input type="text" name="age"/> <br /> 性别:<input type="text" name="gender"/> <br /> <input type="submit" value="提交"> </form> </body></html>
运行结果
其它
- 源码下载:
关注下方公众号回复:004_Action类概述.code
欢迎加入交流群:451826376
更多信息:www.itcourse.top
阅读全文
0 0
- Struts2_004_Action类概述
- 类概述
- 类的成员概述
- 数据聚类概述
- C#集合类概述
- 类的设计概述
- 类Unix系统概述
- 类库概述
- 类与对象概述
- SystemClock类概述
- 集合类概述
- NSUserDefaults类概述
- Java容器类概述
- 集合类概述
- FileInputStream类概述
- String类概述
- 抽象类概述
- java Class类概述
- Webservice学习总结
- myeclipse工程转为idea工程
- IntelliJ IDEA 使用心得与常用快捷键
- Flex 布局教程:语法篇
- 混
- Struts2_004_Action类概述
- coreseek 安装 4.1 版本 并使用
- 如 动态Inventory所介绍,ansibel可以从一个动态的数据源获取到inventory信息,包含元端数据源。
- 判断是否为质数
- 初步认识qt
- mysql优化连接数防止访问量过高的方法
- Android音频实时传输与播放:AMR硬编码与硬解码
- Flex 布局教程:实例篇
- 单片机驱动DM9000