- 浏览: 435757 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
AJCF:
System.out.println(System. ...
<转>Java相对路径/绝对路径总结 -
piaobeizu:
[b][/b]
<转>Java相对路径/绝对路径总结 -
laorer:
balan326 写道你好,最近在网上看了你写的数据库连接池, ...
数据库连接池java实现小结 -
balan326:
你好,最近在网上看了你写的数据库连接池,iteye网你的博客, ...
数据库连接池java实现小结 -
kyoisme2000:
区别在哪里也不说,怎么就解决了
spring绑定java.util.Date时的一个问题
....
http://www.blogjava.net/liaojiyong/archive/2007/05/16/117833.html
......
要点:
在ActionForm定义值对象company,定义Setter/Getter方法;
在JSP里对input元素的名称稍加变化,加company前缀,company.cp_name。
Struts能把company.cp_name的值自动地Populate到对象company,填充cp_name属性。
效果:
简化ActionForm对属性的定义,实际上系统只需要保留ValueObject和PersistObject两类对象。
本质上是借用值对象ValueObject作为ActionForm的传值对象。
变化:
当页面元素来自不同类值对象时,例如Company,Bulletin等,分别写不同的前缀,company.cp_name,bulletin.bl_title。
对于不属于任何值对象的元素,照基本写法写。
===
示例代码
** 传统写法:
//CompanyForm.java
import javax.servlet.http.*;
import org.apache.struts.action.*;
import com.ticket.entity.company.*;
public class CompanyForm
extends ActionForm ...{
private String cp_name; //名称
private String cp_phone; //电话
private String cp_fax; //传真
public String getCp_name() ...{
return cp_name;
}
public void setCp_name(String cp_name) ...{
this.cp_name = cp_name;
}
public String getCp_phone() ...{
return cp_phone;
}
public void setCp_phone(String cp_phone) ...{
this.cp_phone = cp_phone;
}
public String getCp_fax() ...{
return cp_fax;
}
public void setCp_fax(String cp_fax) ...{
this.cp_fax = cp_fax;
}
//其他代码
}
** 优化写法:
//CompanyForm.java
import javax.servlet.http.*;
import org.apache.struts.action.*;
import com.ticket.entity.company.*;
public class CompanyForm
extends ActionForm ...{
public Company company = new Company();
public Company getCompany() ...{
return company;
}
public void setCompany(Company company) ...{
this.company = company;
}
//其他代码
}
//company_add.jsp
要点:
在ActionForm定义值对象company,定义Setter/Getter方法;
在JSP里对input元素的名称稍加变化,加company前缀,company.cp_name。
Struts能把company.cp_name的值自动地Populate到对象company,填充cp_name属性。
效果:
简化ActionForm对属性的定义,实际上系统只需要保留ValueObject和PersistObject两类对象。
本质上是借用值对象ValueObject作为ActionForm的传值对象。
变化:
当页面元素来自不同类值对象时,例如Company,Bulletin等,分别写不同的前缀,company.cp_name,bulletin.bl_title。
对于不属于任何值对象的元素,照基本写法写。
===
示例代码
** 传统写法:
//CompanyForm.java
import javax.servlet.http.*;
import org.apache.struts.action.*;
import com.ticket.entity.company.*;
public class CompanyForm
extends ActionForm ...{
private String cp_name; //名称
private String cp_phone; //电话
private String cp_fax; //传真
public String getCp_name() ...{
return cp_name;
}
public void setCp_name(String cp_name) ...{
this.cp_name = cp_name;
}
public String getCp_phone() ...{
return cp_phone;
}
public void setCp_phone(String cp_phone) ...{
this.cp_phone = cp_phone;
}
public String getCp_fax() ...{
return cp_fax;
}
public void setCp_fax(String cp_fax) ...{
this.cp_fax = cp_fax;
}
//其他代码
}
** 优化写法:
//CompanyForm.java
import javax.servlet.http.*;
import org.apache.struts.action.*;
import com.ticket.entity.company.*;
public class CompanyForm
extends ActionForm ...{
public Company company = new Company();
public Company getCompany() ...{
return company;
}
public void setCompany(Company company) ...{
this.company = company;
}
//其他代码
}
//company_add.jsp
<tr>
<td height="23" align="right" class="bg2">单位名称: </td>
<td width="85%">
<input name="company.cp_name" type="text" maxlength="25" size="50" height="16">
<font color="#FF0000">*</font>
</td>
</tr>
<tr>
<td height="23" align="right" class="bg2">电 话:</td>
<td width="85%">
<input name="company.cp_phone" type="text" maxlength="20" size="30" height="16">
</td>
</tr>
<tr>
<td height="23" align="right" class="bg2">传 真:</td>
<td width="85%">
<input name="company.cp_fax" type="text" maxlength="20" size="30" height="16">
</td>
</tr>
</form>
发表评论
-
[转]Oracle创建自增字段方法-ORACLE SEQUENCE的简单介绍
2007-09-19 09:14 16038Oracle创建自增字段方法-ORACLE SEQUENCE的 ... -
[转]使用Ant管理配置Weblogic
2007-09-17 12:59 5253... -
[转]使用ant进行自动daily build
2007-09-17 12:45 3156环境说明:我用的是weblogic81sp5+apache ... -
[转]在BEA WebLogic Server上开发应用程序的20条技巧
2007-09-17 11:59 2461在BEA WebLogic Server上开 ... -
<转>使用 JSP 2.0 开发类似 JSTL 的标记
2007-09-14 16:38 3047使用 JSP 2.0 开发类似 JST ... -
<转>Ant实战篇
2007-09-13 16:40 2468将两篇放到一起了. ... -
<转>集合接口
2007-08-30 10:03 1382集合接口 http://blog.csdn.net/zhunj ... -
<转>Java相对路径/绝对路径总结
2007-08-29 22:01 6733... -
<转>深入浅出taglib
2007-08-29 11:01 1305... -
《转》EJB基本模型
2007-08-24 13:53 1161EJB从意义上来说,是一种「技术规范」,而不是一种产品。 & ... -
<转>BIRT:基于 Eclipse 的报表
2007-08-23 09:12 3686... -
<转>如何在windows 2000下通过Cygwin建立CVS服务
2007-08-22 12:11 1653<script language="javas ... -
<转>Spring学习笔记
2007-08-20 12:21 1576<转>Spring学习笔记 http://ww ... -
<转>Generic Data Access Objects
2007-08-20 12:11 2005Generic Data Access Objects htt ... -
<转>修改Ant 的 classpath
2007-08-18 17:12 6445<script>function StorePa ... -
<转>利用 Ant 和 Eclipse 有效地提高部署工作效率
2007-08-18 17:05 1381利用 Ant 和 Eclipse 有效 ... -
<转>如何从开发人员走向架构师
2007-08-16 15:13 1161如何从开发人员走向架 ... -
<转>Ant开发、测试、部署实例
2007-08-10 07:46 1567... -
<转>在Eclipse中集成Ant编程之配置祥解篇
2007-08-08 18:24 1778... -
<转> Log4j的使用和怎么在spring中集成log4j
2007-08-08 11:12 2394Log4j的使用和怎么在spring中集成log4j ...
相关推荐
在Struts中,ActionForm类是处理用户输入数据的核心组件,它封装了请求参数并负责业务逻辑验证。本文将详细讨论如何在Struts中使用ActionForm的`validate`方法进行数据验证。 `validate`方法是在ActionForm中定义的...
Struts ActionForm是Java Web开发中Struts框架的一个核心组件,主要用于处理用户在表单中的输入数据。在早期的Struts 1版本中,ActionForm是MVC设计模式中的Model部分,它作为控制器(Controller)与视图(View)...
Struts框架中的ActionForm乱码问题以及Servlet全局过滤器的转义编码处理是Java Web开发中常见的字符编码问题。在开发基于Struts的Web应用时,乱码主要出现在三个方面:页面显示乱码、参数传递乱码以及国际化资源文件...
主要是actionForm的基本验证,重写validate方法,返回actionErrors,然后根据资源文件显示错误。 这是一个demo例子,直接导入eclispe中即可。 并且这部分内容会在相应的博客中介绍,稍后会更新博客。
1. **Struts架构**:讲解Struts的核心组件,如Action、ActionForm、ActionServlet、配置文件(struts-config.xml)以及它们之间的交互机制。 2. **MVC设计模式**:解释MVC模式的基本概念,如何在Struts中实现模型、...
ActionForm是Struts1中处理用户输入的核心组件,它负责接收、验证和封装来自表单的数据。在本文中,我们将深入探讨如何利用ActionForm实现表单验证,并在验证失败时追加错误信息。 1. **ActionForm介绍** ...
它继承自org.apache.struts.action.ActionForm接口,并包含多个字段来存储表单中的数据。当用户提交表单时,Struts框架会自动将表单数据填充到ActionForm实例中。 为了提交多行数据,我们通常会在HTML页面中使用多...
Struts学习笔记之ActionForm ActionForm是Struts框架中的一种重要组件,用于封装和处理用户的表单数据。在Struts中,ActionForm是继承自JavaBeans的,主要用于处理用户的表单数据和业务逻辑。下面是ActionForm的...
4. **使用ActionForm**: 将Spring的ApplicationContext引入Struts,使ActionForm能够通过依赖注入获取SessionFactory,然后在业务逻辑中调用Hibernate的方法进行数据库操作。 5. **配置过滤器**: 设置Struts与Spring...
ActionForm是Struts框架中的一个重要组件,主要用于处理用户从视图层提交的数据。在传统的Struts开发中,ActionForm类通常用于封装请求参数并传递给业务逻辑层进行处理。 动态ActionForm的概念是为了提高代码的灵活...
ActionForm是Struts框架中一个关键组件,用于处理用户从视图层提交的数据,并与控制器进行交互。这篇学习笔记将深入探讨ActionForm的作用、使用方法以及它在Struts架构中的位置。 在MVC模式中,ActionForm扮演了...
最近自学java中的框架-struts写了一些小例子,这都是很经典的程序,如果大家瞧得起要下载去看看,顺便给俺找找不足的地方。我的qq 821865130 email qingtian_hechen@163.com 希望大家能多多给我帮助。在此谢谢各位!...
【ActionForm】是Java Web开发中的一个概念,主要在Struts框架中被广泛使用。它是一种模型层对象,用于接收用户从视图层(通常是一个HTML表单)传递过来的数据,并将这些数据转发到控制器(Controller)进行业务逻辑...
ActionForm在早期的Struts1中被广泛用于接收和验证用户输入,但在Struts2中,这个概念已经被更先进的模型驱动机制所取代。不过,这里提到的"ActionForm自动填充表单"可能是指Struts2中的一种特性,即模型驱动...
Struts ActionForm Bean捕获表单数据 11 Struts的其他组件 12 Validation Framework for Struts 12 Struts TagLib 12 BeanUtils 12 Collections 13 Digester 13 Struts配置文件简介 13 有关Struts ...
在这个名为“Struts中不同的Action和ActionForm组合.rar”的压缩包中,主要探讨的是Struts框架中Action和ActionForm的组合使用方式,以及它们在处理用户请求和数据验证过程中的作用。以下是对这个主题的详细解释。 ...
- **Struts1**:使用ActionForm对象捕获输入,所有ActionForm需继承基类,可能导致重复类的创建。 - **Struts2**:可以直接使用Action的属性作为输入属性,支持更丰富的数据结构,如rich对象类型,并且支持...
通过上述对比可以看出,Struts2相比Struts1在很多方面进行了改进和优化,尤其是在灵活性、可测试性以及对现代Web开发的支持上有着显著的优势。尽管如此,在某些特定的应用场景下,Struts1可能仍然有其适用之处。选择...
- **Struts1**: Struts1使用`ActionForm`对象来捕获输入数据,所有`ActionForm`对象必须继承自基类。这种设计模式可能会导致代码冗余,因为开发者需要为每种类型的输入数据创建额外的类。 - **Struts2**: Struts2...