Struts 的動(dòng)態(tài)復(fù)選框用動(dòng)態(tài)選擇的元素輕松創(chuàng)建復(fù)選框 級(jí)別: 中級(jí) Danilo Gurovich , 首席工程師, Earthlink Inc. 2005 年 11 月 28 日 Struts Recipes 的合著者 Danilo Gurovich 從 George Franciscus 停止的地方開(kāi)始,介紹了易于使用的創(chuàng)建動(dòng)態(tài)選擇復(fù)選框的 Struts 訣竅。 在 用戶(hù)界面設(shè)計(jì)中,復(fù)選框組不如它的同類(lèi) ?? 多行選擇框那樣流行。它們基本上做的是同一件事,即選擇映射到單一 name 屬性的一組選項(xiàng)。當(dāng)在組中使 用時(shí),復(fù)選框執(zhí)行的功能實(shí)際與多行選擇框一樣,但是它們占據(jù)的屏幕空間更多。當(dāng)希望用戶(hù)在選擇一個(gè)或多個(gè)選項(xiàng)之前能夠看到所有選項(xiàng)的時(shí)候,這會(huì)很有好處。 雖然在選項(xiàng)不多的時(shí)候,多行選擇框通常提供更好的觀感,但是當(dāng)選擇框必須動(dòng)態(tài)呈現(xiàn)而且包含預(yù)選功能時(shí),對(duì)企業(yè)應(yīng)用程序來(lái)說(shuō)復(fù)選框組會(huì)是更好的選擇。幸運(yùn)的是,使用 Struts 框架可以很容易地創(chuàng)建動(dòng)態(tài)復(fù)選框組。 在這篇文章中,我將介紹一個(gè)簡(jiǎn)單的訣竅:用 Struts 的 <html:multibox/> 和 <logic: iterate/> 標(biāo)記在應(yīng)用程序的視圖層呈現(xiàn)大量條目,在本例中是 Java™ Server Page(JSP)。 我先從使用復(fù)選框元素顯示簡(jiǎn)單的 String[] 數(shù)組開(kāi)始,數(shù)組中包含喜瑪拉雅山的頂峰高度。然后,我將創(chuàng)建另外一個(gè) String[] 數(shù)組,包含 selectedMountains ,代表已經(jīng)選中的復(fù)選框。復(fù)選框的預(yù)選情況會(huì)在兩個(gè)數(shù)組的交叉中產(chǎn)生。如果 selectedMountains 的初始數(shù)組為空,那么所有復(fù)選框最初都會(huì)顯示為未選中。 請(qǐng)參閱 下載 獲得完整的示例源代碼。應(yīng)當(dāng)擁有跟隨本文所需要的每樣?xùn)|西。如果需要下載 Struts 框架,請(qǐng)參閱 參考資料。 創(chuàng)建動(dòng)態(tài)復(fù)選框創(chuàng)建動(dòng)態(tài)復(fù)選框的訣竅包含三個(gè)主要部分: 一個(gè)表單 bean,容納復(fù)選框的 String[] 數(shù)組和表示選中復(fù)選框的 String[] 數(shù)組。 一個(gè) JSP,帶有一個(gè)表單,在需要的時(shí)候顯示復(fù)選框。 一個(gè)簡(jiǎn)單的 Action 類(lèi),從表單頁(yè)面轉(zhuǎn)到顯示頁(yè)面。 請(qǐng)注意 “Himalayas” 示例非常簡(jiǎn)單。用來(lái)填充復(fù)選框的字段應(yīng)當(dāng)來(lái)自更復(fù)雜的模型,比如這樣的模型,它能夠標(biāo)識(shí)用戶(hù),并選擇要顯示的字段,然后 把業(yè)務(wù)對(duì)象認(rèn)為需要的選項(xiàng)預(yù)先選中。我采用簡(jiǎn)單的模型是為了更好地演示 Struts 的用戶(hù)界面功能。代碼示例使用 JSP 腳本語(yǔ)言是為了表示清楚。 第 1 步. 創(chuàng)建表單 bean我先從創(chuàng)建 Struts 表單 bean 開(kāi)始,它包含填充復(fù)選框所需要的信息。請(qǐng)注意清單 1 中的 TestForm.java 包含了兩個(gè)示例 String[] 數(shù)組變量的 getter 和 setter。數(shù)組 mountains 代表示例復(fù)選框的 全部選項(xiàng),數(shù)組 selectedMountains 代表預(yù)選的在瀏覽器中顯示為選中的元素。 除了代表初始選中的復(fù)選框, selectedMountains 還代表處理表單時(shí),由用戶(hù)選中的復(fù)選框。(它只代表最終選中的元素。)當(dāng)請(qǐng)求頁(yè)面時(shí),會(huì)顯示復(fù)選框。當(dāng)我在它們之間 迭代時(shí),與 selectedMountains 匹配的復(fù)選框元素就是選中的元素。 清單 1 顯示了 TestForm.java 的完整代碼: 清單 1. TestForm.java
|
|
|
來(lái)自: 小朋 > 《Struts技術(shù)》