Posted on 2005-11-11 13:20
Kela 阅读(2400)
评论(1) 编辑 收藏
说明:在Struts中对于每一个请求,控制器都会先调用ActionForm的reset( )方法,然后把用户输入的表单数
据组装到ActionForm中。也就是说,我们在显示界面中用到的表单的值(默认值),使用这里得到。
问题提出:很多人喜欢将验证使用Validator验证框架,它使用起来很方便。但在我们的实际工作当中,我
们需要将(比如一篇文章)的添加,编辑放在一个显示页面去操作,这样我们在编辑的时候就必须在现实
的页面查询到我们需要编辑的文章信息,如 标题,时间,内容,文章的录入人等这些信息,这样在显示
页面我们无法避免的在HTML代码中夹杂我们的查询(无论采用何种方式),然后将查询的内容对应到具
体使用的表单的value中进行编辑。这样,功能完成了,但页面看起来有些乱。
解决办法:利用ActionForm的reset()方法,利用它对数据初始化的能力。我们利用文章的ID号分别判断到
文章添加和编辑状态,然后再reset()方法中,可以结合数据库的查询将需要编辑的字段(表单值)初始化
在这里,(当然了添加就直接初始化了),这样我们的显示页面就只有HTML和Struts的标签了,显示页面
变得轻巧了许多。
优点:显示页面变得简洁轻巧,页面修改变得简单。
缺点:ActionForm reset()内容增加,变得庞大。需要很好的规划组织(当然了这种代价也是值得的)。
这种使用的方式可能有的朋友并不赞同,欢迎大家来讨论。因为没有什么是一成不变的,灵活的应用是我
们生存之道。