?
在
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://m.tkk7.com/zhyiwww
|----------------------------------------------------------------------------------------|
posted on 2007-09-05 17:08
zhyiwww 閱讀(2894)
評論(3) 編輯 收藏 所屬分類:
j2ee