`
xiaotao.2010
  • 浏览: 216927 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Struts2 Action中的数据填充

阅读更多

开门见山
直接上代码

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" />

 

 

分享到:
评论
1 楼 lewkinglove 2012-03-30  
楼主主, 教程写的很明了哈., 赞一个!

相关推荐

    struts1.x 和 struts2.x向Action里填充jsp参数原理

    Struts1中向Action填充JSP参数的过程: 1. 用户在JSP页面填写表单并提交。 2. 请求到达ActionServlet,ActionServlet通过请求参数找到对应的ActionForm。 3. Struts自动将请求参数值绑定到ActionForm的属性上,这...

    struts2中动态填充下拉框的例子

    在Struts2中,动态填充下拉框的过程通常包括以下几个步骤: 1. **创建Action类**:Action是业务逻辑的载体,负责处理用户的请求。我们需要创建一个Action类,例如`SelectAction.java`,并在其中定义一个方法,如`...

    struts2返回JSON数据的两种方式

    总结,Struts2中返回JSON数据有两种主要方式:一是通过`response.getWriter().print()`手动输出JSON字符串;二是利用Struts2的内置JSON插件,通过返回特定的属性和结果类型自动处理JSON。每种方法都有其适用场景,...

    struts 2 action 动态调用

    本文档将详细介绍如何在Struts 2中实现Action动态方法调用,并通过实例演示其具体应用。 #### 二、基础知识回顾 在开始深入探讨动态方法调用之前,让我们先回顾一下Struts 2框架的基本概念。 1. **Action**: 在...

    Struts2表单数据获取项目

    在Struts2中,你可以直接在Action类中声明与表单字段相对应的属性,Struts2的自动数据绑定机制会将表单参数映射到这些属性。例如,如果表单有字段`name`和`email`,Action类可以如下所示: ```java public class ...

    Struts2框架ActionForm自动填充表单

    不过,这里提到的"ActionForm自动填充表单"可能是指Struts2中的一种特性,即模型驱动(ModelDriven)或拦截器(Interceptor)如何帮助自动处理表单数据。 在Struts2中,你可以使用`ModelDriven`接口来实现表单数据...

    struts2返回json数据的方法一 使用json-default

    在Struts2中,处理Action类的结果通常会重定向到一个JSP页面或发送一个简单的文本响应。然而,在现代Web应用中,JSON(JavaScript Object Notation)格式的数据交换变得越来越普遍,因为它能轻松地在服务器和客户端...

    Struts2整合jasperReports报表

    在Struts2中整合jasperReports,可以实现Web应用中的动态报表生成和展示功能。首先,我们需要确保系统环境中已经安装了jasperReports库以及其依赖的iReport设计工具。iReport是用于设计jasperReports报表的图形化...

    struts2 学习重点笔记

    - **自动填充**:Struts2 自动从 request 中获取数据并填充到 Action 对象中。 - **原理**:通过拦截器实现,拦截器会查找与 Action 类中的 setter 方法相匹配的请求参数,并调用这些方法填充数据。 **3.3 数据传递...

    Struts2 Excel导入导出数据

    在Struts2中,要实现Excel导入导出,我们需要以下组件: 1. **Apache POI库**:这是一个用于读写Microsoft Office格式文件的Java库,包括Excel。我们可以用它来创建、修改和读取Excel文件。 2. **Struts2 Action**...

    struts2学习笔记

    2. **模型驱动**:使用一个公共对象作为模型,Action类持有这个模型的引用,Struts2将请求参数填充到模型对象中,这种方式更便于数据管理和共享。 此外,Struts2还支持动态方法调用、国际化、主题和模板、AJAX集成...

    struts 预加载数据demo

    在Struts2和Ajax的结合下,可以通过监听用户操作,动态发送Ajax请求,获取并填充所需数据。 4. **Eclipse开发环境**:Eclipse是一款强大的Java集成开发环境,用于编写、调试和管理Java项目。在本例中,开发者使用...

    struts2查询修改删除

    通过以上内容,我们可以看到Struts2在实现CRUD操作时涉及到了许多核心概念和组件,这些是构建任何Web应用的基础,尤其是那些需要管理数据库中数据的应用。理解并熟练掌握这些知识点,将有助于你构建高效、稳定的...

    在Struts2中使用JasperReports生成报表

    首先,我们需要了解Struts2中整合JasperReports的基本步骤: 1. **环境准备**:确保你已经安装了MyEclipse开发环境,并且在项目中引入了Struts2和JasperReports的相关库。这些库通常包括struts2-core、...

    Java Struts2 实现CRUD

    在Struts2中,创建新记录通常涉及以下步骤: 1. 创建一个Action类,这个类通常会有一个与添加操作相关的execute方法。 2. 设计一个JSP表单用于用户输入数据。 3. 使用Struts2的`.struts.xml`配置文件定义Action的...

    Struts2页面数据流向及获取方法

    在Struts2中,页面数据的流向和获取方法是理解和开发Struts2应用的关键部分。 首先,理解Struts2的数据流向至关重要。一般来说,流程如下: 1. 用户通过浏览器发送请求到服务器,请求通常指向一个特定的JSP页面。 ...

    一个struts的action跳转大全

    不过,从上面的几个例子可以看出,在Struts框架中,通过合理配置`action`元素及其属性,可以实现非常灵活的页面跳转和数据处理逻辑。 综上所述,Struts框架提供了一套完整的机制来处理用户请求、数据验证及页面跳转...

Global site tag (gtag.js) - Google Analytics