`

Struts2 入门 三(Struts Action类的实现方式 接收参数的方式 )

 
阅读更多

 

Struts2 入门 三(Struts Action类的实现方式 接收参数方式 )

 

实现action类的方式 有三种 只讲你需要记的两种 剩下那一种你就当不存在就好。

第一种 实现 Action 接口

第二种 继承 ActionSupport

 

Action接收参数的三种方式 :

第一种: 属性 注入

用setter 、getter来实现

注意 domainModel是可以给List集合注入值的 Struts2和hibernate 整合时会经常用到这种方式.

第二种:domainModel(域模型) 附代码:

Model层

public class User {
	private String name;
	private int age;
	public String getName() {
		return name;
	}
	public void setName(String name) {
     System.out.println("setName()当前值"+this.name);
		this.name = name;
	 System.out.println("setName()注入后"+name);
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		System.out.println("setAge()当前值"+this.age);
		this.age = age;
	   System.out.println("setAge()注入后"+age);
	}
}



Action层

public class UserAction extends ActionSupport {
	
	//一般是写成private User user;让Struts容器帮你创建对象
	//但是写成下面的也没错
	private User user=new User();
	public String add() {
		
		System.out.println("name=" + user.getName());
		System.out.println("age=" + user.getAge());
		return SUCCESS;
	}

	public User getUser() {
		System.out.println("getUser()");
		return user;
	}

	public void setUser(User user) {
		System.out.println("setUser()");
		this.user = user;
	}
	
}

 

使用Domain Model接收参数<a href="user/user!add?user.name=a&user.age=8">添加用户</a>

 

附上代码结果:

private User user=new User();这种情况
getUser()
setAge()当前值0
setAge()注入后8
getUser()
setName()当前值null
setName()注入后a
name=a
age=8

 

private User user;这种情况
getUser()
setUser()
setAge()当前值0
setAge()注入后8
getUser()
setName()当前值null
setName()注入后a
name=a
age=8

 

结论: domainModel 注入 先调用对象getter方法 判断对象是否为null

为null的话 帮你创建一个User对象

调用对象的setter方法注入

然后调用属性的setter方法把属性值注入

不为null的话

直接调用属性的setter方法
第三种ModelDriven(模型驱动)

使用ModelDriven接收参数<a href="user/user!add?name=a&age=8">添加用户</a>
 implements ModelDriven<User>

	private User user = new User();

	public User getModel() {
		return user;
	}



分享到:
评论

相关推荐

    JavaEE intellij Idea 做的Action三种接收参数的方式Struts2入门

    本教程将介绍如何使用IntelliJ IDEA和Struts2框架实现Action类接收参数的三种常见方式,这对于JavaWeb开发初学者来说是极其重要的基础知识。 首先,我们需要了解Struts2框架。Struts2是一个基于MVC(Model-View-...

    Struts2入门demo

    - Struts2支持依赖注入(DI),允许你在Action类中声明字段,Struts2会自动根据配置填充这些字段的值,简化了对象的创建和管理。 8. **国际化**: - Struts2支持多语言环境,你可以创建资源文件(如`messages....

    Struts2 的入门简单的hello

    Struts2框架提供了Action类,这个类是控制器的角色,负责接收用户的请求并调用相应的业务逻辑。 1. **配置Struts2**: - 首先,你需要在项目中添加Struts2的依赖库,这通常通过Maven或Gradle实现。 - 接着,配置...

    Struts2 入门资料

    Struts2是一个强大的Java web开发框架,它是SSH(Spring、Struts、Hibernate)三...理解并掌握这些核心概念,是成功入门Struts2的关键步骤。通过实践,可以进一步熟悉其工作原理,从而更好地利用Struts2进行项目开发。

    Struts2教学视频

    Struts2支持Action的动态方法调用,允许Action类根据请求参数动态选择要执行的方法,而无需预先在struts.xml中硬编码。 **八、Action通配符(wildcard)的配置** 通配符配置允许为一组相似的Action定义一个通用配置,...

    struts2入门学习源码

    使用`org.apache.struts2.dispatcher.multipart.MultiPartRequest`类,结合Action中的属性字段,可以轻松实现文件上传功能,并对上传的文件进行合法性检查和大小限制。 5. **i18n(国际化)**:Struts2提供了很好的...

    struts2入门教程

    - **Action实现**:在Struts1中,Action类需要继承`org.apache.struts.action.Action`,而在Struts2中,Action类通常继承自`com.opensymphony.xwork2.ActionSupport`,提供了一系列预定义的方法和功能。 #### 四、...

    Struts2入门教程

    本教程旨在帮助初学者快速入门Struts2,了解其基本概念和应用。 一、Struts2简介 Struts2是Apache软件基金会的一个开源项目,它是Struts1的升级版,继承并改进了其前任的许多特性。Struts2的核心是Action类,它负责...

    struts2框架入门

    控制器(Controller)由Struts2的Action类扮演,接收请求,调用模型,然后将结果返回给视图。 Struts2提供了多种结果类型(Result),如dispatcher(默认的,用于转发到JSP页面)、stream(用于下载文件)等。...

    Struts2入门宝典

    而自动验证则是在Action类上使用注解或在`struts.xml`中配置验证规则,Struts2会在Action执行前自动进行验证,如果验证失败,会将错误信息传递给视图显示。 ### 国际化实现 为了支持多语言环境,Struts2提供了强大...

    Struts2入门例子

    此外,Struts2还提供了强大的插件系统,比如 strut2-convention-plugin 插件,它可以简化配置,通过约定优于配置的方式自动绑定Action和方法。还有 strut2-dojo-plugin 插件,支持Ajax和Dojo库,为Web应用添加丰富的...

    最新Struts2入门(Struts2入门), PPT教程

    - **编写Action类**:Action类是业务逻辑的核心,它接收来自JSP的请求,处理数据,并通过返回结果映射来决定重定向到哪个JSP页面。例如,创建一个简单的Hello World Action: ```java public class HelloWorldAction...

    struts2入门的学习资料.pdf

    Action类通常会接收到请求参数,并通过调用Service层进行处理,最后返回一个表示结果的字符串,决定视图如何渲染。 2. **转换器(Converter)**: - 转换器是Struts2中的魔术师,它允许开发者自定义类型转换,将HTTP...

    struts2入门案例

    1. **Action类**:在Struts2中,业务逻辑主要由Action类处理。Action类是用户请求的接收者,负责执行相关的业务逻辑,并通过Result返回响应。 2. **配置文件**:Struts2的配置主要分为两个部分:`struts.xml`和`...

    struts2入门实例

    在Struts2中,Action类充当控制器角色,而JSP通常作为视图。 3. **配置文件详解**: - `struts.xml`:这是Struts2的核心配置文件,用于定义Action、结果类型、拦截器等。在这里,你可以看到Action的映射,以及每个...

Global site tag (gtag.js) - Google Analytics