下载本文示例代码
摘要:在今日的网站设计中,处理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) |