国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

Struts中用動(dòng)態(tài)選擇的元素創(chuàng)建復(fù)選框

2019-11-18 15:38:25
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

  在用戶界面設(shè)計(jì)中,復(fù)選框組不如它的同類 —— 多行選擇框那樣流行。它們基本上做的是同一件事,即選擇映射到單一 name 屬性的一組選項(xiàng)。當(dāng)在組中使用時(shí),復(fù)選框執(zhí)行的功能實(shí)際與多行選擇框一樣,但是它們占據(jù)的屏幕空間更多。
當(dāng)希望用戶在選擇一個(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ì)顯示為未選中。

  創(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 類,從表單頁(yè)面轉(zhuǎn)到顯示頁(yè)面。
  請(qǐng)注重 “Himalayas” 示例非常簡(jiǎn)單。用來(lái)填充復(fù)選框的字段應(yīng)當(dāng)來(lái)自更復(fù)雜的模型,比如這樣的模型,它能夠標(biāo)識(shí)用戶,并選擇要顯示的字段,然后把業(yè)務(wù)對(duì)象認(rèn)為需要的選項(xiàng)預(yù)先選中。我采用簡(jiǎn)單的模型是為了更好地演示 Struts 的用戶界面功能。代碼示例使用 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í),由用戶選中的復(fù)選框。(它只代表最終選中的元素。)當(dāng)請(qǐng)求頁(yè)面時(shí),會(huì)顯示復(fù)選框。當(dāng)我在它們之間迭代時(shí),與 selectedMountains 匹配的復(fù)選框元素就是選中的元素。

  清單 1 顯示了 TestForm.java 的完整代碼:

  清單 1. TestForm.java

 package com.strutsrecipes; import javax.servlet.http.HttpServletRequest; import org.apache.struts.action.ActionError; import org.apache.struts.action.ActionErrors; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionMapping; public final class CheckboxTestForm extends ActionForm { // Instance Variables /*Mountains "
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 榆社县| 牡丹江市| 密云县| 吕梁市| 霸州市| 平度市| 铁岭市| 遵义县| 江源县| 漯河市| 汉寿县| 香港 | 桦甸市| 遂川县| 读书| 新乡市| 郧西县| 临沭县| 隆子县| 独山县| 鄂伦春自治旗| 独山县| 庆元县| 隆德县| 南丹县| 五莲县| 元氏县| 仁怀市| 花莲县| 上蔡县| 阜康市| 松江区| 凤翔县| 抚顺市| 忻城县| 临武县| 绥棱县| 马关县| 建昌县| 郧西县| 司法|