Struts標簽的multiBox的數據上載
多選方框,選定值后提交,然后接收到一個數組,這是小菜,看書都知道。
可是,我想給這些多選方框動態顯示的時候給個選中或未選中的狀態值,我是看了好幾個文字材料,寫得都夠暈的,看是那么回事,實際操作,根本就不靈。還好我夠靈光,憑直覺,終于解決。
Action 中:
??????
//
定義一組備選愛好
[
也可以從數據庫中讀取
]
??????
ArrayList hobbyList =
new
ArrayList();
?????? hobbyList.add(
"
游泳
"
);
?????? hobbyList.add(
"
潛水
"
);
?????? hobbyList.add(
"
登山
"
);
?????? hobbyList.add(
"
跳傘
"
);
?????? hobbyList.add(
"
徒步旅行
"
);
??????
??????
//
定義一組選定的愛好
[
也可以從數據庫中讀取
]
??????
ArrayList hobbySelectList =
new
ArrayList();
?????? hobbySelectList.add(
"
游泳
"
);
?????? hobbySelectList.add(
"
登山
"
);
?????? hobbySelectList.add(
"
徒步旅行
"
);
??????
??????
//
定義字符串數組,如果你的那個類的屬性是數組類型。
?????? String[] hobby =
new
String[hobbySelectList.size()];
??????
//
把
ArrayList
轉換為
String[]
?????? hobbySelectList.toArray(hobby);
??????
??????
//
定義你的那個
ActionForm
?????? PersonForm personForm =
new
PersonForm();
??????
//
設置那個數組類型的屬性
?????? personForm.setHobby(hobby);
??????
??????
//
注意,你給
JSP
傳遞的東西哦!
??????
//
一個是:備選數組
ArrayList
??????
//
另一個是:
JSP
可承載的
ActionForm
,注意這個
ActionForm
要有被選定的數組屬性值哦!
?????? request.setAttribute(
"hobbyList"
, hobbyList);
?????? request.setAttribute(
"personForm"
, personForm);?
??????
??????
return
mapping.findForward(
"ready"
);
JSP
中:
<
logic:iterate
id
=
"hobbyName"
name
=
"hobbyList"
>
?????
???
???
<
html:multibox
property
=
"hobby"
>
???
???????
<
bean:write
name
=
"hobbyName"
/>
???
???
</
html:multibox
>
???
???
<
bean:write
name
=
"hobbyName"
/>
???
</
logic:iterate
>
解釋一下
jsp
中的參數。
hobbyList
就是那個一組備選愛好數組;
hobbyName
就是隨意定義的一個變量名,來接收
hobbyList
中的項;
hobby
就是
ActionForm
的那個數組屬性名稱;
看了這些,我自己都暈。。。這東西看來要自己領悟了?。。?/span>
我估計那個 html:radio 也是這么用,下次再研究。
posted on 2006-10-17 22:31 白洋 閱讀(310) 評論(0) 編輯 收藏 所屬分類: Struts 知識點滴