1 直接在Action中,注入javaBean的属性,然后在action中给属性添加相应的set方法,当然,要求jsp表单input的name属性的名称和action中属性的名称相同,个人感觉这样接收参数十分乱,这样接收参数没有使用面向对象的思维去进行开发,而且action越来越像javaBean。
2 为了解决我上面十分混乱的模式,struts2 还给我们提供了另一种解决方案,就是这次我们在action中声明相应的model,例如private User user; 然后添加这个模型的get方法和set方法,相应的jsp页面在input标签中也要用相应的声明方式进行参数的接收和发送,<input type="text" name="user.username">,例如username属性,在开发中比较推荐这种方式进行开发,因为可以注入多个model对象,一般在开发中,一个action中往往需要注入多个model对象。当注入的model对象比较多的时候,相应的get和set方法十分多,看着混乱。
3 为了解决上面的比较混乱的方法,我们采用另一种开发方式,这个开发方式在企业中比较常见,其实也就是上面第二种的变形,我也是在我的action中注入model,但是这次我是直接new了一个对象,也就是
public EmpModel em = new EmpModel(); 请注意,model对象一定要用public来进行修饰,然后同样的道理,我们也需要在我的jsp进行<input name="em.pwd" size="25" value="${em.pwd}"/> 接收参数以及参数传递,这种开发方式个人非常推荐。
4 下面说一种开发方式,实现modelDriven接口,进行参数的传递。
1.让action类实现ModelDriven
2.重写getModel方法
3.在action中实现化一个model对象,让getModel方法返回这个对象。
public class Login3Action extends ActionSupport implements ModelDriven<User> {
private User user = new User();
public User getModel() {
return user;
}
}
这种开发方式十分不推荐。因为这种开发方式在一个action中只能注入一个model对象,就是因为这种需要接口注入需要添加泛型的原因,一个action只能注入一个模型对象。所以,开发中不推荐使用。
相关推荐
1. **默认封装**:Struts2默认使用`@.struts2-convention-plugin`插件,根据Action方法的参数名自动匹配请求参数。 2. **使用ActionContext**:通过`ActionContext`对象获取请求参数,然后手动设置到Action类的属性...
2. **数据绑定**:Struts2的数据绑定功能允许将HTTP请求参数自动映射到Action类的属性。当用户提交表单时,Struts2会尝试将表单字段值绑定到Action类的相应字段,这个过程称为“自动数据绑定”。例如,如果表单中有...
struts2下通过jquery的ajax从后台传json对象并展示在web页面上的一个小例子,所需的jar包请自己下载否则无法运行,所需的包包括struts的必须包,json的支持包和struts对json的支持包
总结起来,Struts2对请求参数的封装是通过Action类的属性映射、ValueStack的使用以及拦截器链的处理来实现的。这种设计提高了代码的可读性和可维护性,使得开发者能更专注于业务逻辑,而不是繁琐的参数获取。了解这...
### Struts2参数配置详解 #### 一、概述 在深入了解Struts2框架时,我们不可避免地会接触到各种参数配置。这些配置对于整个框架的运行至关重要。本文将围绕Struts2中的关键配置进行深入探讨,旨在帮助开发者更好地...
当请求参数与Action类的属性名相匹配时,Struts2会自动将参数值设置到对应的属性上。例如,Action类有一个名为`name`的属性: ```java public class MyAction extends ActionSupport { private String name; // ...
2. 域模型(Domain Model)是Struts2中用于封装业务数据的对象,Action可以直接引用域模型对象,将请求参数绑定到模型中。 以上就是关于Struts2的一些基础知识点,学习Struts2不仅可以帮助理解MVC模式在实际应用中的...
在Struts2框架中,可以通过在Action类中定义与请求参数同名的属性来自动绑定请求参数。当执行Action时,Struts2会自动将请求参数与Action中的属性进行匹配和绑定,无需额外的数据类型转换。这种方式简单直观,适用于...
1. **封装OGNL操作,实现值的传递**:Struts2通过对OGNL表达式的封装,实现从客户端传入的参数到Java对象之间的值传递。这一过程包括但不限于对各种复杂类型的处理,如数组、列表、映射等。 2. **类型转换**:为了...
这篇博客文章"Struts2对Ognl的封装--TypeConverter"探讨了Struts2如何通过TypeConverter机制来增强OGNL的功能。 首先,我们来看一下OGNL。OGNL允许开发者用简洁的语法来获取和设置对象的属性,甚至可以进行复杂的...
当用户提交表单时,Struts2框架会自动将请求参数绑定到Action的相应属性上,简化了数据的处理。 3. **Domain Model(实体模型)** Domain Model是一种设计模式,用于封装业务逻辑和数据。在Struts2中,你可以创建...
8. **表单处理**:Struts2提供了强大的表单处理能力,可以自动绑定请求参数到Action的属性,实现数据验证,并将错误信息回显到页面。 9. **异常处理**:Struts2通过全局异常映射(Global Exception Mapping)来统一...
- **Struts2**: 每个Action实例都只服务于一次请求,之后会被销毁。这样可以确保每个Action实例都是干净的状态,不会出现意外的数据污染。同时,这种方式也降低了内存消耗。 #### Servlet依赖 - **Struts1**: ...
### STRUTS2获得作用域、参数响应对象及三种符号说明 #### 一、概述 在Struts2框架中,为了更好地管理Web应用程序中的请求、会话和应用范围的数据,Struts2提供了一系列的工具和机制。这包括了对`RequestMap`、`...
- **Struts1** 主要是基于Servlet API进行操作,使用ActionForm来封装请求参数,并且依赖于JSP页面的生命周期;而 **Struts2** 则更加灵活,支持多种视图技术如JSP、FreeMarker等,同时也支持更丰富的插件和拦截器...
在"struts2demo全注解"这个主题中,我们将深入探讨Struts2如何通过注解实现Action类的配置,以及如何封装请求参数到Map对象中。 在传统的Struts2配置中,我们通常会在`struts.xml`配置文件中定义Action、结果类型、...
7. 请求与响应的处理,包括参数传递和数据封装 8. 实例演示:使用Struts2+Jquery+Ajax实现动态加载数据或表单验证 "struts2 jar"文件包含了Struts2框架的核心库,可能包括struts2-core、struts2-convention、struts...
- **Struts 2**:直接使用Action的属性来封装请求参数,简化了参数的处理流程。此外,还提供了`ModelDriven`模式,允许开发者使用单独的模型对象来封装请求参数,进一步增强了代码的可读性和可维护性。 #### 6. ...
- FilterDispatcher依据struts.xml找到匹配的Action和方法,并使用IoC将请求参数注入Action。 - Action执行业务逻辑,可能包括表单验证。 - Action执行完毕后,依据配置找到对应的返回结果Result,可以是JSP、...
- **Struts2**:直接使用Action属性来封装请求参数,无需为每个请求参数创建单独的`ActionForm`。同时支持Rich对象类型作为属性,进一步简化了参数管理。对于偏好`ActionForm`风格的开发者,Struts2提供了...