`
mytream
  • 浏览: 73168 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

Struts2学习笔记(二)——请求参数的接收

    博客分类:
  • MVC
阅读更多

 

   接收参数的三种方法

 

一.通过action的属性接收参数

 

public class UserAction extends ActionSupport {
	private String name;
	private int age;
	public String add() {
		System.out.println("name=" + name);
		System.out.println("age=" + age);
		return SUCCESS;
	}
	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;
	}
}

 我们在action中设置与请求参数同名的属性,核心控制器会主动调用该action相应的setXXX进行相关设置请求的路径类似于.../servletContextPath/namespace/user?name=aaa&age=5

 


二.通过Domain Model接收参数

 

public class User {
	private String name;
	private int age;
	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 class UserAction extends ActionSupport {
	private User user;
	private String nickname;
	public String add() {
		System.out.println("name=" + user.getName());
		System.out.println("age=" + user.getAge());
                System.out.println("nickname=" + nickname);
		return SUCCESS;
	}
	public User getUser() {
		return user;
	}
	public void setUser(User user) {
		this.user = user;
	}
        public void setNickname(String nickname){
                this.nickname = nickname;
        }
        public String getNickname(){
                return nickname;
        }
}
 

我们先看与之相关的请求页面的格式.../servletContextPath/namespace/user?user.name=aaa&user.age&nickname
与第一种方法不同的是,我们在action中直接使用了User对象,在查询字符串中是以user.name这种形式给出域模型(Domain Model)User的属性值。核心控制器检查到这种形式也会创建action并对齐属性进行响应的设置。


三.通过Model Driver接收参数

 

public class User {
	private String name;
	private int age;
	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 class UserAction extends ActionSupport implements ModelDriven<user>{
	private User user = new User();
	public String add() {
		System.out.println("name=" + user.getName());
		System.out.println("age=" + user.getAge());
		return SUCCESS;
	}
	@Override
	public User getModel() {
		return user;
	}
}
 

 访问格式:.../servletContextPath/namespace/user?name=aaa&age=5,我们看到这种形式与第一种形式是一样的。
注意到他的两个重要操作:1.action类对ModelDriven<?>的实现,这里需要指定它的泛型类型2.在重写的方法中返回需要进行设置的user对象,在User类中写好setXXX和getXXX方法
核心控制器的操作流程大致是:1.创建action业务控制器2.通过getModel()得到user对象3.调用user的setXXX方法设置其属性值.
值得一提的是,核心控制器不会再创建User对象,因此我们必须在action中创建,如上user=new User();

 

 

分享到:
评论

相关推荐

    struts2学习笔记黑马程序员

    ### Struts2学习笔记之文件上传与Ajax开发 #### Struts2文件上传 **文件上传简介** 文件上传是Web应用中常见的功能之一,Struts2框架内置了对文件上传的支持,使得开发者能够轻松地实现这一功能。为了确保文件...

    Struts2自学笔记——Struts2的文件上传

    这篇自学笔记将深入探讨Struts2的文件上传机制。 1. **文件上传原理** 文件上传是基于HTTP协议的POST请求实现的。在HTML表单中,通过`&lt;input type="file" /&gt;`元素让用户选择本地文件。当用户提交表单时,浏览器会...

    Struts 1.3.8 学习笔记(三)

    这个版本的学习笔记主要集中在 Struts 框架的核心概念、架构和实际应用上。Struts 1 提供了一个MVC(Model-View-Controller)设计模式的实现,帮助开发者组织应用程序的逻辑,提高代码的可维护性和可扩展性。 在...

    struts笔记

    #### 二、Struts框架中的文件上传组件 Struts框架支持多种文件上传组件,这些组件各有优势,开发者可以根据项目需求选择最适合的一种。以下是一些常见的上传组件: 1. **JSP SmartUpload (Model 1)**:这是一种较老...

    SSH学习笔记3 SSH学习笔记3

    SSH学习笔记3主要聚焦于三个Java企业级开发框架——STRUTS、SPRING和HIBERNATE的集成与应用。这三个框架是Java后端开发中非常重要的组件,它们各自负责不同的层面,共同构建了一个强大的MVC(Model-View-Controller...

    Struts入门笔记+源代码(登陆系统)

    2. **配置文件**:有两个重要的配置文件——`struts-config.xml`和`web.xml`。前者定义了Struts框架的行为,如Action映射、Form Bean配置等;后者则是在Web应用部署时必须的,用于加载Struts的初始化参数。 3. **...

    ssh整合学习笔记(图解)

    下面,我们将基于提供的“ssh整合学习笔记(图解)”这一主题,深入探讨SSH整合的关键知识点,以及如何在实践中运用这些框架。 ### Spring框架 Spring框架是一个开源的应用框架,其核心特性包括依赖注入(DI)、...

    appfuse学习笔记(二)新建模块

    在本篇“appfuse学习笔记(二)新建模块”中,我们将深入探讨AppFuse框架的模块创建过程。AppFuse是一个开源项目,它提供了一个快速开发Web应用的基础结构,旨在简化开发流程并提高代码质量。通过AppFuse,开发者...

    servlet学习笔记

    【Servlet学习笔记】是关于Java Web开发中一个关键组件——Servlet的详细教程,它主要讲述了前端与后端如何协同工作,实现数据的交互和页面的动态呈现。在Web应用程序开发中,Servlet扮演着服务器端程序的角色,处理...

    java学习笔记

    2. **请求接收**:服务器接收请求,并将请求转发给`DispatcherServlet`。 3. **处理器映射**:`DispatcherServlet`根据URL找到对应的处理器(Handler)。 4. **处理器适配器**:处理器适配器负责执行处理器,并返回...

    aa.rar_spring_struts_struts 管理_物资管理 java_管理系统

    - 物资入库:通过Struts接收前端请求,利用Hibernate操作数据库完成物资的入库记录,Spring管理事务以确保数据一致性。 - 物资出库:同样通过Struts的Action,配合Hibernate更新物资状态,Spring处理事务,确保出库...

    人力资源管理系统 struts+hibernate

    【标题】"人力资源管理系统 struts+hibernate"是一个基于两大流行开源框架——Struts和Hibernate构建的应用系统,主要用于企业内部的人力资源管理和优化。这个系统整合了这两个强大的技术,旨在提供高效、稳定且功能...

    SpringSSM框架整合完整框架.zip

    2. **Struts框架**:Struts 2是基于MVC设计模式的Web框架,主要负责接收用户请求,转发到相应的Action,Action处理完业务逻辑后返回结果视图。Struts2的配置文件(struts.xml)定义了Action和Action的执行路径,以及...

    四个SSH框架实战项目源码加笔记

    这个压缩包文件包含了四个基于SSH框架的实战项目源码以及相关的学习笔记,这对于深入理解SSH框架的集成与应用具有极大的帮助。 1. **Struts框架**:Struts是一个开放源代码的Web应用程序框架,它基于MVC设计模式,...

    J2EE三大框架_笔记(个人收藏)

    Struts通过ActionServlet作为入口点,接收HTTP请求,根据配置文件(struts-config.xml)转发到相应的Action,Action处理完业务逻辑后,返回一个Result,进而决定如何展示结果。Struts1虽然已经较为老旧,但其设计...

    java笔记 Java-Web笔记 J2EE三大框架笔记

    李兴华的java笔记可能涵盖了这些内容,帮助初学者理解基础概念,如变量、运算符、控制结构以及面向对象的特性——封装、继承和多态。 二、Java Web Java Web开发是指使用Java技术构建Web应用程序的过程。这涉及到...

    J2EE三大框架_笔记11

    Struts通过ActionForm接收用户请求,再由Action转发到相应的业务逻辑,最后更新Model,并通过JSP视图进行响应。 2. **Hibernate框架**: Hibernate是一个强大的对象关系映射(ORM)框架,解决了Java应用在数据库...

    JSP听课笔记总结

    本篇笔记旨在总结JSP的核心概念、原理和常见用法,为学习者提供详实的参考。 **一、JSP基本概念** 1. **页面组成**:JSP页面由两部分构成——静态内容(HTML、CSS、JavaScript)和动态脚本元素(Java代码)。静态...

    learningSpringAnno.rar

    《SSM框架学习笔记——基于JavaEE的Spring注解详解》 在JavaEE开发领域,SSM(Spring、Struts、MyBatis)是广泛使用的三大框架,它们为开发者提供了强大的功能,使得企业级应用的开发更为高效。本笔记主要聚焦于...

Global site tag (gtag.js) - Google Analytics