开门见山
直接上代码
Struts 2 中的数据填充有3中方式:
1、字段填充:
public class TestActionSupport extends ActionSupport {
此处若为Private motifi
/*
private String userId;
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
*/
public String userId;
@Override
public String execute() throws Exception {
System.out.println(userId);
return super.execute();
}
}
JSP页面
<!--JSP页面写法-->
<form action="/struts2-class/user/testActionSupport">
userId:<input type="text" name="userId"/><br/>
<input type="submit" />
</form>
2、域对象(
推荐使用,也是最长使用的
UserBean很简单 ,此处略去,但有一点不得不说,在写好UserBean的时候最好从写一下
public int hashCode() 方法。
具体为什么还是没有搞懂,但应该要用到sort
)
public class TestActionSupport extends ActionSupport {
//此处user为一UserBean
public User user = new User();
@Override
public String execute() throws Exception {
System.out.println(user);
return super.execute();
}
}
<!--JSP 页面写法-->
<form action="/struts2-class/user/testActionSupport">
userId:<input type="text" name="user.userId"/><br/>
name:<input type="text" name="user.name" /><br/>
<input type="submit" />
</form>
3、模型驱动 implements ModelDriven(
优先被赋值:
当字段填充和模型驱动同时出现的时候模型驱动优先被执行。
)
//最好玩的就是这个ModelDriven ,被叫做模型驱动,他先需要被实现,最后执行一个
//getModel()的方法,返回这个UserBean的引用。并且一个Action只能对应一个ModelDriven
//神奇之处发生了,在JSP页面不需要写对象的引用了,直接写属性名就可以产生映射。
//原来不是很清楚,但能确定的是return的这个对象一定是到前台JSP页面去收集过一趟值//去了
public class TestActionSupport extends ActionSupport implements ModelDriven {
//此处user为一UserBean
public User user = new User();
//public String userId;
@Override
public String execute() throws Exception {
//System.out.println(userId);
System.out.println(user);
return super.execute();
}
//实现域模型 ModelDriven 要重写该方法
@Override
public Object getModel() {
// TODO Auto-generated method stub
//return 的值 传给了页面
return user;
}
}
<!--JSP页面-->
<form action="/struts2-class/user/testActionSupport">
userId:<input type="text" name="userId"/><br/>
name:<input type="text" name="name" /><br/>
age:<input type="text" name="age" /><br/>
<input type="submit" />
分享到:
相关推荐
Struts1中向Action填充JSP参数的过程: 1. 用户在JSP页面填写表单并提交。 2. 请求到达ActionServlet,ActionServlet通过请求参数找到对应的ActionForm。 3. Struts自动将请求参数值绑定到ActionForm的属性上,这...
在Struts2中,动态填充下拉框的过程通常包括以下几个步骤: 1. **创建Action类**:Action是业务逻辑的载体,负责处理用户的请求。我们需要创建一个Action类,例如`SelectAction.java`,并在其中定义一个方法,如`...
总结,Struts2中返回JSON数据有两种主要方式:一是通过`response.getWriter().print()`手动输出JSON字符串;二是利用Struts2的内置JSON插件,通过返回特定的属性和结果类型自动处理JSON。每种方法都有其适用场景,...
本文档将详细介绍如何在Struts 2中实现Action动态方法调用,并通过实例演示其具体应用。 #### 二、基础知识回顾 在开始深入探讨动态方法调用之前,让我们先回顾一下Struts 2框架的基本概念。 1. **Action**: 在...
在Struts2中,你可以直接在Action类中声明与表单字段相对应的属性,Struts2的自动数据绑定机制会将表单参数映射到这些属性。例如,如果表单有字段`name`和`email`,Action类可以如下所示: ```java public class ...
不过,这里提到的"ActionForm自动填充表单"可能是指Struts2中的一种特性,即模型驱动(ModelDriven)或拦截器(Interceptor)如何帮助自动处理表单数据。 在Struts2中,你可以使用`ModelDriven`接口来实现表单数据...
在Struts2中,处理Action类的结果通常会重定向到一个JSP页面或发送一个简单的文本响应。然而,在现代Web应用中,JSON(JavaScript Object Notation)格式的数据交换变得越来越普遍,因为它能轻松地在服务器和客户端...
在Struts2中整合jasperReports,可以实现Web应用中的动态报表生成和展示功能。首先,我们需要确保系统环境中已经安装了jasperReports库以及其依赖的iReport设计工具。iReport是用于设计jasperReports报表的图形化...
- **自动填充**:Struts2 自动从 request 中获取数据并填充到 Action 对象中。 - **原理**:通过拦截器实现,拦截器会查找与 Action 类中的 setter 方法相匹配的请求参数,并调用这些方法填充数据。 **3.3 数据传递...
在Struts2中,要实现Excel导入导出,我们需要以下组件: 1. **Apache POI库**:这是一个用于读写Microsoft Office格式文件的Java库,包括Excel。我们可以用它来创建、修改和读取Excel文件。 2. **Struts2 Action**...
2. **模型驱动**:使用一个公共对象作为模型,Action类持有这个模型的引用,Struts2将请求参数填充到模型对象中,这种方式更便于数据管理和共享。 此外,Struts2还支持动态方法调用、国际化、主题和模板、AJAX集成...
在Struts2和Ajax的结合下,可以通过监听用户操作,动态发送Ajax请求,获取并填充所需数据。 4. **Eclipse开发环境**:Eclipse是一款强大的Java集成开发环境,用于编写、调试和管理Java项目。在本例中,开发者使用...
通过以上内容,我们可以看到Struts2在实现CRUD操作时涉及到了许多核心概念和组件,这些是构建任何Web应用的基础,尤其是那些需要管理数据库中数据的应用。理解并熟练掌握这些知识点,将有助于你构建高效、稳定的...
首先,我们需要了解Struts2中整合JasperReports的基本步骤: 1. **环境准备**:确保你已经安装了MyEclipse开发环境,并且在项目中引入了Struts2和JasperReports的相关库。这些库通常包括struts2-core、...
在Struts2中,创建新记录通常涉及以下步骤: 1. 创建一个Action类,这个类通常会有一个与添加操作相关的execute方法。 2. 设计一个JSP表单用于用户输入数据。 3. 使用Struts2的`.struts.xml`配置文件定义Action的...
在Struts2中,页面数据的流向和获取方法是理解和开发Struts2应用的关键部分。 首先,理解Struts2的数据流向至关重要。一般来说,流程如下: 1. 用户通过浏览器发送请求到服务器,请求通常指向一个特定的JSP页面。 ...
不过,从上面的几个例子可以看出,在Struts框架中,通过合理配置`action`元素及其属性,可以实现非常灵活的页面跳转和数据处理逻辑。 综上所述,Struts框架提供了一套完整的机制来处理用户请求、数据验证及页面跳转...