在
struts
中使用动态
form,需要
有以下几步:
1)
配置动态
form
要想使用动态
form,
首先要现在
struts-config.xml
中作配置
实例代码如下:
<
form-beans
>
<
form-bean
name
=
"vOForm"
type
=
"org.apache.struts.action.DynaActionForm"
>
<
form-property
name
=
"uname"
type
=
"java.lang.String"
/>
<
form-property
name
=
"upass"
type
=
"java.lang.String"
/>
</
form-bean
>
</
form-beans
>
使用动态
form,
没有对应的类,所以,如果需要扩展属性,只需要再次配置文件中添加一个属性家可以了。
但是如果是
actionform
的话,那么,如果你添加了一个属性的话,那么你就要在属性里面添加一个属性,在类里面添加一个属性。而必须做好这种对应。动态
form
就没有这个必要了。
从这一点来说,动态
form
使用起来就更加方便。
2)
页面
form
Form,
其实是一个
transfer object ,
也就是说,是在
viewer
和
action
只见地交换数据和传递数据的对象。
所以从页面的
form,
每一个属性都要和动态
form
的属性一一对应。
然后,由
struts
来完成其属性值的映射。
实例代码如下:
<form method="POST" action="login.do">
username : <input type="text" name="uname" value="zhangyi"><br>
password : <input type="password" name="upass" value="zhangyi"><br>
<input type="submit" name="submit" value="login">
</form>
这个
form
里面的属性和动态
form
里面的属性是一一对应的。
3)
Action
由上面的页面
form
上,我们可以看到,如果此
form
提交,那么,请求提交到了
login.do
这个
action.
那么,在这个
action
里面,如何实现对动态
form
的调用
?
实例代码如下:
DynaActionForm vOForm = (DynaActionForm) form;
System.
out
.println(
"vo is : "
+ vOForm);
因为,我们传递的是
DynaActionForm,
所以,在调用的时候,我们就要把
form
强制转换成
DynaActionForm
对象。
4)
测试结果
上面粒子的执行结果如下:
vo is : DynaActionForm[dynaClass=vOForm,upass=bbbbbbbbb,uname=aaaaaaa]
也就是说,我们已经取得了此对象。
那么下面,你如何调用业务逻辑,那么,就根据自己的需要来实现了。
|----------------------------------------------------------------------------------------|
版权声明 版权所有 @zhyiwww
引用请注明来源 http://www.blogjava.net/zhyiwww
|----------------------------------------------------------------------------------------|
posted on 2007-09-05 17:08
zhyiwww 阅读(2890)
评论(3) 编辑 收藏 所属分类:
j2ee