Chinaunix首页 | 论坛 | 博客
  • 博客访问: 16498446
  • 博文数量: 5645
  • 博客积分: 9880
  • 博客等级: 中将
  • 技术积分: 68081
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-28 13:35
文章分类

全部博文(5645)

文章存档

2008年(5645)

我的朋友

分类:

2008-04-28 21:32:13

下载本文示例代码
  摘要:在今日的网站设计中,处理form数据是一件很常见的事情。不过,表格中的项目通常都需要使用不同的规则来验证,这个验证也许还要通过数据库查询或者后台的其它组件操作进行,使你的代码变得混淆不清。每个Web开发者都有一个梦想,这就是将表现和逻辑完全分开,而上面提及的处理复杂性与这种构想是背道而驰的。为此,本文介绍了Form处理API,它基于Java Servlet,可帮助你简化form的处理。   在做一个设计的时候,我经常会面对一个难题:我是应该用一个快速的方法来完成我的工作,还是在开始的时候多花一点时间来建立一个方法,以便在以后类似的环境中可以再次使用这些代码。在设计Form处理API的时候,我选择了后面一个方法。  在实现form处理时,通常有以下4个步骤:  1、显示form及其所有的输入项目    产生form的代码(HTML,XML代码)    对于某些必须填写的项目,加入一个标记,例如“这个项目是必须填写的”    如果有的话,显示默认的输入  2、验证提交的字段值    分析提交的参数    检查某些必须填写的项目是否已经填写    如果需要的话,使用某些规定验证文本输入值    如果需要的话,查询数据库来验证文本输入值(例如,用户名不能重复)    如果需要的话,使用后台的组件操作来验证文本输入值  3、在验证不成功时,重新显示表格    在没有通过验证的项目旁写入相应的错误信息    在每个项目中显示用户上次的输入    继续第二步中的处理,直到成功通过验证才进入第4步  4、进入下一个页面  以上的工作你也可能做过,这些步骤的工作量也是不少的。在这篇文章中,我将介绍如何通过Form处理API来帮助你简化这个处理。  表格处理分析  我们先在类的级别上,对表格处理作一个面向对象的分析。这里我使用了两个主要的类--FormElement和Form,还有一个接口,FieldController。  FormElement类  FormElement类表示所有的表格输入元素:文本框、密码框、多行文本框、选择框、单选按钮、组合框和列表框。不管是哪一种元素,一个FormElement对象拥有四个主要的状态(变量):  name字符串是字段(FormElement)的名字  value字符串表示送到服务器的一个值  required布尔值是一个标记,用来表示该字段项目是否是必须的  errorMessage字符串代表一个信息,它用来显示一个警告或者错误的信息,或者什么也不显示  前面三个就不必多作解释了,对于第四个参数,就带来一个问题,文本信息将会是什么?对于单选按钮、选择框、组合框和列表框来说,errorMessage可以是:  表明用户应该至少选择一个(也就是说,该项目是必须的)   警告用户应该至少选择一个(在该项目是必须的时候)  在以下两种情况下什么也不显示:该项目不是必须的;或者该项目是必须的,但是用户在上一次提交时已经作出了一个选择  对于文本输入的字段,例如文本框、多行文本或者密码字段,errorMessage可以是:   表明用户应该填入该项目(也就是说,该项目是必须的)   警告用户应该输入一些东西(在该项目是必须的时候)   警告用户密码必须是一样的(仅应用在密码字段)   警告用户某些字符是禁止使用的(这些字符可以是各种各样的,有无穷多个可能)   警告用户某些文本项目是禁止的(这些文本输入的也有无限个可能)  你可以看到,最后两类的警告信息是不能进行分类的,因为它们有无限多个变化。在一个无限的情况下,FormElement需要一些帮助才可以产生一个errorMessage。这就是接口的作用。共5页。 1 2 3 4 5 :   摘要:在今日的网站设计中,处理form数据是一件很常见的事情。不过,表格中的项目通常都需要使用不同的规则来验证,这个验证也许还要通过数据库查询或者后台的其它组件操作进行,使你的代码变得混淆不清。每个Web开发者都有一个梦想,这就是将表现和逻辑完全分开,而上面提及的处理复杂性与这种构想是背道而驰的。为此,本文介绍了Form处理API,它基于Java Servlet,可帮助你简化form的处理。   在做一个设计的时候,我经常会面对一个难题:我是应该用一个快速的方法来完成我的工作,还是在开始的时候多花一点时间来建立一个方法,以便在以后类似的环境中可以再次使用这些代码。在设计Form处理API的时候,我选择了后面一个方法。  在实现form处理时,通常有以下4个步骤:  1、显示form及其所有的输入项目    产生form的代码(HTML,XML代码)    对于某些必须填写的项目,加入一个标记,例如“这个项目是必须填写的”    如果有的话,显示默认的输入  2、验证提交的字段值    分析提交的参数    检查某些必须填写的项目是否已经填写    如果需要的话,使用某些规定验证文本输入值    如果需要的话,查询数据库来验证文本输入值(例如,用户名不能重复)    如果需要的话,使用后台的组件操作来验证文本输入值  3、在验证不成功时,重新显示表格    在没有通过验证的项目旁写入相应的错误信息    在每个项目中显示用户上次的输入    继续第二步中的处理,直到成功通过验证才进入第4步  4、进入下一个页面  以上的工作你也可能做过,这些步骤的工作量也是不少的。在这篇文章中,我将介绍如何通过Form处理API来帮助你简化这个处理。  表格处理分析  我们先在类的级别上,对表格处理作一个面向对象的分析。这里我使用了两个主要的类--FormElement和Form,还有一个接口,FieldController。  FormElement类  FormElement类表示所有的表格输入元素:文本框、密码框、多行文本框、选择框、单选按钮、组合框和列表框。不管是哪一种元素,一个FormElement对象拥有四个主要的状态(变量):  name字符串是字段(FormElement)的名字  value字符串表示送到服务器的一个值  required布尔值是一个标记,用来表示该字段项目是否是必须的  errorMessage字符串代表一个信息,它用来显示一个警告或者错误的信息,或者什么也不显示  前面三个就不必多作解释了,对于第四个参数,就带来一个问题,文本信息将会是什么?对于单选按钮、选择框、组合框和列表框来说,errorMessage可以是:  表明用户应该至少选择一个(也就是说,该项目是必须的)   警告用户应该至少选择一个(在该项目是必须的时候)  在以下两种情况下什么也不显示:该项目不是必须的;或者该项目是必须的,但是用户在上一次提交时已经作出了一个选择  对于文本输入的字段,例如文本框、多行文本或者密码字段,errorMessage可以是:   表明用户应该填入该项目(也就是说,该项目是必须的)   警告用户应该输入一些东西(在该项目是必须的时候)   警告用户密码必须是一样的(仅应用在密码字段)   警告用户某些字符是禁止使用的(这些字符可以是各种各样的,有无穷多个可能)   警告用户某些文本项目是禁止的(这些文本输入的也有无限个可能)  你可以看到,最后两类的警告信息是不能进行分类的,因为它们有无限多个变化。在一个无限的情况下,FormElement需要一些帮助才可以产生一个errorMessage。这就是接口的作用。共5页。 1 2 3 4 5 : 下载本文示例代码


通过Form处理API来简化表格通过Form处理API来简化表格通过Form处理API来简化表格通过Form处理API来简化表格通过Form处理API来简化表格通过Form处理API来简化表格通过Form处理API来简化表格通过Form处理API来简化表格通过Form处理API来简化表格通过Form处理API来简化表格通过Form处理API来简化表格通过Form处理API来简化表格通过Form处理API来简化表格通过Form处理API来简化表格通过Form处理API来简化表格
阅读(102) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~