1.通过属性驱动式
01.<form action="sys/login.action" method="post">
02. <input type="text" name="username">
03. <input type="submit" value="submit">
04.</form>
Action:直接通过get、set方法获取。
01.public class sysAction extends ActionSupport{
02. private String username;
03.
04. public String login() throws Exception {
05. System.out.println(username);
06. return SUCCESS;
07. }
08.
09. public String getUsername() {
10. return username;
11. }
12. public void setUsername(String username) {
13. this.username= username;
14. }
15.}
2.模型驱动方式,必须要实现ModelDriven<T>接口。对于要传入多个model第二种方式不方便
01.<form action="sys/login.action" method="post">
02. <input type="text" name="username">
03. <input type="submit" value="submit">
04.</form>
Action:必须实现getModel() 方法
01.public class sysAction extends ActionSupport implements ModelDriven<User>{
02. private User user;
03.
04. public String login() throws Exception {
05. System.out.println(getModel().getUsername());
06. return SUCCESS;
07. }
08.
09. public User getModel() {
10. if (null == user) {
11. return user = new User();
12. }
13. return user;
14. }
15.}
3.第三种方式可以完全不实现ModelDriven<T>,也可使用多个model对象的属性。
01.<form action="sys/login.action" method="post">
02. <input type="text" name="user.username">
03. <input type="text" name="teacher.level">
04. <input type="submit" value="submit">
05.</form>
Action: 必须提供set方法
01.public class sysAction extends ActionSupport{
02. private User user;
03. private Teacher teacher;
04.
05. public String login() throws Exception {
06. System.out.println(user.getUsername());
07. System.out.println(teacher.getLevel());
08. return SUCCESS;
09. }
10.
11. public void setUser(User user) {
12. this.user = user;
13. }
14. public void setTeacher(Teacher teacher) {
15. this.teacher = teacher;
16. }
17.}
01.<form action="sys/login.action" method="post">
02. <input type="text" name="username">
03. <input type="submit" value="submit">
04.</form>
Action:直接通过get、set方法获取。
01.public class sysAction extends ActionSupport{
02. private String username;
03.
04. public String login() throws Exception {
05. System.out.println(username);
06. return SUCCESS;
07. }
08.
09. public String getUsername() {
10. return username;
11. }
12. public void setUsername(String username) {
13. this.username= username;
14. }
15.}
2.模型驱动方式,必须要实现ModelDriven<T>接口。对于要传入多个model第二种方式不方便
01.<form action="sys/login.action" method="post">
02. <input type="text" name="username">
03. <input type="submit" value="submit">
04.</form>
Action:必须实现getModel() 方法
01.public class sysAction extends ActionSupport implements ModelDriven<User>{
02. private User user;
03.
04. public String login() throws Exception {
05. System.out.println(getModel().getUsername());
06. return SUCCESS;
07. }
08.
09. public User getModel() {
10. if (null == user) {
11. return user = new User();
12. }
13. return user;
14. }
15.}
3.第三种方式可以完全不实现ModelDriven<T>,也可使用多个model对象的属性。
01.<form action="sys/login.action" method="post">
02. <input type="text" name="user.username">
03. <input type="text" name="teacher.level">
04. <input type="submit" value="submit">
05.</form>
Action: 必须提供set方法
01.public class sysAction extends ActionSupport{
02. private User user;
03. private Teacher teacher;
04.
05. public String login() throws Exception {
06. System.out.println(user.getUsername());
07. System.out.println(teacher.getLevel());
08. return SUCCESS;
09. }
10.
11. public void setUser(User user) {
12. this.user = user;
13. }
14. public void setTeacher(Teacher teacher) {
15. this.teacher = teacher;
16. }
17.}
相关推荐
在这个名为"Struts2表单数据获取项目"的资源中,我们将深入探讨如何使用Struts2框架来处理表单提交的数据。 首先,我们来看看核心组件`Struts.xml`。这是Struts2应用的主要配置文件,用于定义动作(Actions)、结果...
在处理表单数据方面,Struts2提供了一种高效且灵活的方法,使得开发者能够轻松地从用户提交的表单中获取并处理数据。这篇博客文章“应用Struts2处理表单数据”可能会探讨以下核心知识点: 1. **Action类**:在...
总结来说,Struts2提供的这三种获取参数的方法各有优劣。属性驱动适合简单的场景,但随着表单复杂度增加,模型驱动和对象驱动方式更优。模型驱动在保持Action类简洁的同时,避免了对象驱动带来的HTML表单编码困扰,...
本文将详细讲解Struts中的表单验证机制,包括ActionForm Bean的使用、validate()方法和reset()方法,以及如何处理验证错误。 首先,ActionForm Bean是Struts框架中用于存储和管理用户输入数据的Java对象。它需要...
本实验主要涉及三个核心概念:动态方法调用、请求参数的获取以及简单的表单数据验证。 **动态方法调用(Dynamic Method Invocation,DMI)** 在Struts2中,动态方法调用是其一大特性,允许开发者通过URL直接调用...
Struts2基于OGNL(Object-Graph Navigation Language)表达式语言,可以直接在Action方法的参数中使用ognl表达式来获取表单数据。这种方式更加灵活,可以处理动态或复杂的表单数据。 ```java public class ...
Struts2和其他Web框架支持三种不同的`enctype`属性值: 1. **application/x-www-form-urlencoded**:这是默认的编码方式,适用于大多数普通文本数据的提交。在这种模式下,表单字段会被转换成URL编码格式,不适用于...
下面我们将详细探讨Struts2标签的使用方法以及EL(Expression Language)表达式。 1. **Struts2标签库**: - **s:textfield**: 用于创建输入字段,可以设置属性如name、value、size、maxlength等。 - **s:...
- **标签库**:Struts2提供了丰富的标签库,可以帮助开发者快速构建表单和页面元素,提高开发效率。 - **拦截器**:拦截器是Struts2的一个重要特性,可以在请求到达Action之前或之后执行特定的操作,如验证用户登录...
在Struts2中,表单数据的绑定是自动的,Action类的属性与表单字段对应,可以简化开发。此外,Struts2还支持拦截器,可以实现事务管理、权限控制等功能,提高代码的可维护性和安全性。 页面展示方面,Struts2支持JSP...
"struts2表单校验,可单独一行显示"这个主题意味着我们将探讨如何在Struts2框架中实现表单验证,并且让错误信息以独立行的方式呈现给用户,提高用户体验。 首先,Struts2的表单验证基于Action类和一个名为`...
另一种常见的方法是通过 `HttpServletRequest` 对象来获取 `FIELDERROR`。具体来说,可以使用 `request.getAttribute()` 方法来访问由Struts2框架存储的错误信息。这种方法的好处在于它可以提供更大的灵活性,允许...
### Struts2基本运行环境配置方法 #### 一、引言 在Java Web开发领域,Struts2框架因其简洁的设计模式、丰富的插件支持以及高度的可扩展性而备受开发者青睐。本文将详细介绍如何在MyEclipse环境中配置Struts2的基本...
在Struts2框架下,我们可以使用Jquery的Ajax方法向服务器发送请求,获取JSON或XML数据,然后动态更新页面的部分内容。 在"06-mvc之struts2.ppt"中,可能涵盖了以下内容: 1. Struts2框架的基本概念和架构 2. 如何...
OGNL是一种强大的表达式语言,用于在Struts2中获取和设置对象属性,以及执行复杂的逻辑操作。在视图层,它可以用来动态地渲染页面内容。 14. **Struts投影** 投影是Struts2中将对象属性映射到视图组件的方式,...
- 在`execute()`方法中,获取表单数据,调用DAO方法将数据插入到数据库。 10. **错误处理和验证**: - 可以利用Struts2的内置验证框架对表单数据进行验证,例如检查用户名是否为空或密码长度是否符合规则。 11. ...
本文将详细介绍三种常见的Struts2数据传递方式:通过默认的Action属性传递、使用Value Object(VO)传递以及利用ModelDriven模式进行数据传输。 #### 一、通过默认的Action属性传递 这种方式是最基础也是最直观的...
Struts2的JSON插件正是为了方便开发者在Struts2框架中处理JSON数据而设计的。 首先,让我们深入了解JSON。JSON是一种独立于语言的数据交换格式,具有易于人阅读和编写,同时也易于机器解析和生成的特点。它的数据...
Struts2标签库是基于JSP标准标签库(JSTL)的扩展,它提供了一系列预定义的标签,用于处理表单、链接、显示数据等常见的web交互。这些标签不仅简化了HTML代码,还提供了与Struts2框架的深度集成,如数据绑定、验证...
在本篇文章中,我们将详细探讨Struts2的三种主要的传值方式,并通过一个简单的Demo来加深理解。 1. **Action属性传值** Struts2的核心是Action类,每个Action类都代表一个特定的业务逻辑。我们可以通过在Action类...