标题:
如何让所有的Action只共享一个actionFrom
[打印本页]
作者:
chirenchafu
时间:
2006-4-13 13:33
标题:
如何让所有的Action只共享一个actionFrom
如何让所有的Action只共享一个actionFrom,也就是说我只要创建一个actionFrom,让所有的action都用此actionFrom。
我在开发过程中发现,如果一个前台JSP新增了一个字段,那么就要在actionFrom里面新增些字段的seter和geter方法。
我现在想如果actionFrom的seter和geter方法都用一个,在调用时,把调用的值压到HashMap里面去。请问哪位高手有做过这样的actionFrom,前台的属性设置是如何,actionFrom又是如何写,还是action是如何取到值的。
作者:
火之子
时间:
2006-4-13 13:34
提供一种方法 :
jsp中如:
<html:text property="data(name)" />
<html:text property="data(password)" />
actionform 中
public DataForm extends ActionForm {
Map data = new HashMap();
public void setData(Map data) {this.data = data; }
public Map getData() {return this.data; }
public Object getVal(String key) {
return data.get(key);
}
}
action中
public testAction extends Action {
public ActionForward execute(....) {
String name = (String)((DataForm)form).get("name");
String password = (String)((DataForm)form).get("password");
....
}
}
作者:
piaoyunlei
时间:
2006-4-13 13:35
不知道你这样做是否有待欠缺~
Form是映射jsp的,如果在Form用Map来通用页面参数的话!
过多的页面和参数将为你带来不堪重负,使程序变得阅读困难。
也许你现在没有发现,但当请求过多的时候,你就会发现。
如果你仅仅是嫌Form里面的getset方法繁琐的话,可以申明个Bean!
在form页面生成这个bean的getset方法。
页面应用的的时候就beanName.beanProperty。
更重要的一点是,页面显示和form,bean生成的字段都是对应数据库的。
极少数情况下,或者你有别的用途。
这样增加字段只是对应数据库表的字段,而数据库的表结构应该是已经设计好的。
也就是说是固定的,那么声明这个实体Bean对应数据库的表字段不就行了么。
多的也就不说了,多参看一些这方面的例子,看看。
我想,对于你遇到的问题可能已经有了解决的方法。
不要过于冥思苦想!学会接受,相信你会有更大的收获。
欢迎光临 编程开发论坛 (http://bbs.lihuasoft.net/)
Powered by Discuz! 6.0.0