接收参数的三种方法
一.通过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学习笔记之文件上传与Ajax开发 #### Struts2文件上传 **文件上传简介** 文件上传是Web应用中常见的功能之一,Struts2框架内置了对文件上传的支持,使得开发者能够轻松地实现这一功能。为了确保文件...
这篇自学笔记将深入探讨Struts2的文件上传机制。 1. **文件上传原理** 文件上传是基于HTTP协议的POST请求实现的。在HTML表单中,通过`<input type="file" />`元素让用户选择本地文件。当用户提交表单时,浏览器会...
这个版本的学习笔记主要集中在 Struts 框架的核心概念、架构和实际应用上。Struts 1 提供了一个MVC(Model-View-Controller)设计模式的实现,帮助开发者组织应用程序的逻辑,提高代码的可维护性和可扩展性。 在...
#### 二、Struts框架中的文件上传组件 Struts框架支持多种文件上传组件,这些组件各有优势,开发者可以根据项目需求选择最适合的一种。以下是一些常见的上传组件: 1. **JSP SmartUpload (Model 1)**:这是一种较老...
SSH学习笔记3主要聚焦于三个Java企业级开发框架——STRUTS、SPRING和HIBERNATE的集成与应用。这三个框架是Java后端开发中非常重要的组件,它们各自负责不同的层面,共同构建了一个强大的MVC(Model-View-Controller...
2. **配置文件**:有两个重要的配置文件——`struts-config.xml`和`web.xml`。前者定义了Struts框架的行为,如Action映射、Form Bean配置等;后者则是在Web应用部署时必须的,用于加载Struts的初始化参数。 3. **...
下面,我们将基于提供的“ssh整合学习笔记(图解)”这一主题,深入探讨SSH整合的关键知识点,以及如何在实践中运用这些框架。 ### Spring框架 Spring框架是一个开源的应用框架,其核心特性包括依赖注入(DI)、...
在本篇“appfuse学习笔记(二)新建模块”中,我们将深入探讨AppFuse框架的模块创建过程。AppFuse是一个开源项目,它提供了一个快速开发Web应用的基础结构,旨在简化开发流程并提高代码质量。通过AppFuse,开发者...
【Servlet学习笔记】是关于Java Web开发中一个关键组件——Servlet的详细教程,它主要讲述了前端与后端如何协同工作,实现数据的交互和页面的动态呈现。在Web应用程序开发中,Servlet扮演着服务器端程序的角色,处理...
2. **请求接收**:服务器接收请求,并将请求转发给`DispatcherServlet`。 3. **处理器映射**:`DispatcherServlet`根据URL找到对应的处理器(Handler)。 4. **处理器适配器**:处理器适配器负责执行处理器,并返回...
- 物资入库:通过Struts接收前端请求,利用Hibernate操作数据库完成物资的入库记录,Spring管理事务以确保数据一致性。 - 物资出库:同样通过Struts的Action,配合Hibernate更新物资状态,Spring处理事务,确保出库...
【标题】"人力资源管理系统 struts+hibernate"是一个基于两大流行开源框架——Struts和Hibernate构建的应用系统,主要用于企业内部的人力资源管理和优化。这个系统整合了这两个强大的技术,旨在提供高效、稳定且功能...
2. **Struts框架**:Struts 2是基于MVC设计模式的Web框架,主要负责接收用户请求,转发到相应的Action,Action处理完业务逻辑后返回结果视图。Struts2的配置文件(struts.xml)定义了Action和Action的执行路径,以及...
这个压缩包文件包含了四个基于SSH框架的实战项目源码以及相关的学习笔记,这对于深入理解SSH框架的集成与应用具有极大的帮助。 1. **Struts框架**:Struts是一个开放源代码的Web应用程序框架,它基于MVC设计模式,...
Struts通过ActionServlet作为入口点,接收HTTP请求,根据配置文件(struts-config.xml)转发到相应的Action,Action处理完业务逻辑后,返回一个Result,进而决定如何展示结果。Struts1虽然已经较为老旧,但其设计...
李兴华的java笔记可能涵盖了这些内容,帮助初学者理解基础概念,如变量、运算符、控制结构以及面向对象的特性——封装、继承和多态。 二、Java Web Java Web开发是指使用Java技术构建Web应用程序的过程。这涉及到...
Struts通过ActionForm接收用户请求,再由Action转发到相应的业务逻辑,最后更新Model,并通过JSP视图进行响应。 2. **Hibernate框架**: Hibernate是一个强大的对象关系映射(ORM)框架,解决了Java应用在数据库...
本篇笔记旨在总结JSP的核心概念、原理和常见用法,为学习者提供详实的参考。 **一、JSP基本概念** 1. **页面组成**:JSP页面由两部分构成——静态内容(HTML、CSS、JavaScript)和动态脚本元素(Java代码)。静态...
《SSM框架学习笔记——基于JavaEE的Spring注解详解》 在JavaEE开发领域,SSM(Spring、Struts、MyBatis)是广泛使用的三大框架,它们为开发者提供了强大的功能,使得企业级应用的开发更为高效。本笔记主要聚焦于...