Struts ActionForm用Map来封装数据【转】
关键字: 读struts in action有感
1。当表单中数据会增加的时候,在form中写每一个属性不利于软件的升级和维护,这个时候我们有两种解决方案,一种是采用DynaActionForm,另一种就是采用Map属性,
下面是示例代码:
Java代码
package com.mj.forms;
import java.util.HashMap;
import java.util.Map;
import org.apache.struts.action.ActionForm;
/**
*
* @author M.J
*
*/
public class FormMapTest extends ActionForm{
private Map map=new HashMap();
private int testInt;
public Map getMap() {
return map;
}
public void setMap(Map map) {
this.map = map;
}
public int getTestInt() {
return testInt;
}
public void setTestInt(int testInt) {
this.testInt = testInt;
}
/**
*
* @param key
* @return
*/
public Object getValue(String key){
return map.get(key);
}
/**
*
* @param key
* @param value
*/
public void setValue(String key, Object value){
map.put(key, value);
}
}
jsp业面要稍微作以下修改:
Html代码
<html:text property="value(userId)"/>
<html:password property="value(password)"/>
分享到:
相关推荐
ActionForm的property必须声明然后才可以使用,不过在查询时我们常常需要输入一些查询条件,这些查询条件(property)其实不需要在formbean中声明,可以使用Map对象来封装整个查询表单提交的数据。 4. ActionForm的...
- ActionForm类:Struts1的表单对象,用于封装用户请求数据。 这个示例项目有助于学习和理解如何在实际开发中整合这三个框架,提升开发效率和代码质量。通过这种方式,可以更好地解耦各个组件,使得代码更加模块化...
4. ActionForm:Struts1中的表单对象,用于封装HTTP请求参数,与Action类一起工作,传递数据到Service层。 5. JSP页面:展示数据,用户输入,以及反馈信息,如列表页面、添加或编辑表单等。 项目中可能还涉及以下...
可以通过在ActionForm中使用ArrayList或Map来存储这些动态字段。当表单提交时,Struts框架会自动将表单数据填充到ActionForm中。 3. **表单验证**:Struts提供了强大的验证机制,可以在ActionForm类中定义校验规则...
综上所述,Struts1的核心思想是通过XML配置实现应用的解耦,使用ActionServlet协调请求,ActionForm承载表单数据,Action处理业务逻辑,以及ActionForward控制页面流转。了解和掌握这些概念有助于理解和使用Struts1...
ActionForm是Struts1中的数据绑定组件,通常用于接收和封装用户输入的数据。动态ActionForm则允许在运行时根据用户请求动态地创建和配置ActionForm实例。这种方式提高了灵活性,使得表单字段的数量和类型可以根据...
- 结果集映射(Result Map)可以将Hibernate查询的结果自动转换为Struts ActionForm或JavaBean,简化了数据处理过程。 总结起来,Struts+Hibernate组合在网络购物系统中的应用,实现了高效、灵活且易于维护的Web...
在Struts中,ActionForm用于封装请求参数,Action则负责处理业务逻辑,它们之间的通信是通过setter和getter方法进行的。ActionForm中的数据可以通过Struts的底层反射机制进行自动绑定,这样可以方便地从HTTP请求中...
- **Struts2**:解耦了Action与容器的关系,将Servlet上下文封装成Map,使得Action可以独立于容器进行单元测试。这种设计不仅提升了测试的便利性,还提高了代码的可移植性。 #### 易测性的提升 - **Struts1.2**:...
在早期的Struts1中,ActionForm对象用于封装表单数据。虽然在Struts2中这种方式已不再推荐,但仍可使用。你需要创建一个ActionForm类,然后在Action类中使用ActionMapping对象来获取表单数据: ```java public ...
此外,Struts 1使用ActionForm封装表单项,而Struts 2直接使用业务逻辑Action封装表单项,简化了开发。 最后,我们来探讨一下Struts 2方法校验的原理。Struts 2通过向当前action中添加错误信息来表示校验失败。在...
StrutsDynForm是Apache Struts框架的一个特性,用于动态创建表单字段,提供了一种灵活的方式来处理不固定或可变的表单数据。在传统的Struts应用中,表单字段通常与ActionForm类中的属性一一对应,但在某些情况下,如...
它通过Action类来执行业务逻辑,并使用ActionForm来封装请求参数。在Struts配置文件(struts-config.xml)中,我们需要定义Action和ActionForward,指定请求如何映射到具体的Action处理方法以及处理后的页面跳转。 ...
6. **结果映射(Result Map)**:在Struts的配置文件中,定义结果映射关系,根据Action的执行结果,决定跳转到哪个JSP页面或者Action。 结合使用Struts和Hibernate的优点在于,它们能够很好地分离关注点,使代码更...
- `<logic:iterate>`:迭代集合,如ArrayList或Map,常用于遍历数据。 - `<logic:present>`和`<logic:notPresent>`:检查请求、session或application作用域内是否存在指定对象。 - `<logic:forward>`:转发请求到另...
- ActionForm:封装用户提交的数据,用于在Action和视图之间传递。 - Struts配置文件:定义了各个Action的映射,以及ActionForm和JSP页面的关联。 - Tiles:Struts的一个扩展,用于更灵活地管理视图模板。 2. ...
- **ActionForm**:用于封装HTTP请求参数,与Action类交互,处理业务数据。 - **ActionMapping**:定义了Action与URL的映射关系,决定请求如何被路由。 - **ActionForward**:定义了Action处理后的页面跳转。 3....