<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 6,  comments - 7,  trackbacks - 0

    1.       HTML代碼

    最終實現(xiàn)的效果代碼,如下所示:

    <select>

    <option selected="selected" value="Monitor">Monitor</option>

    <option value="VCR">VCR</option>

    <option value="Standard Device">Standard Device</option>

    <option value="Smart Device">Smart Device</option>

    <option value="Trunk">Trunk</option>

    <option value="Standby VCR">Standby VCR</option>

    </select>

    2.       enum代碼

    publicenum DeviceType {

        @XmlEnumValue("Monitor")

        MONITOR("Monitor"),

        VCR("VCR"),

        @XmlEnumValue("Standard Device")

        STANDARD_DEVICE("Standard Device"),

        @XmlEnumValue("Smart Device")

        SMART_DEVICE("Smart Device"),

        @XmlEnumValue("Trunk")

        TRUNK("Trunk"),

        @XmlEnumValue("Standby VCR")

        STANDBY_VCR("Standby VCR");

        privatefinal String value;

        DeviceType(String v) {

            value = v;

        }

        public String value() {

            returnvalue;

        }

        publicstatic DeviceType fromValue(String v) {

            for (DeviceType c: DeviceType.values()) {

                if (c.value.equals(v)) {

                    return c;

                }

            }

            thrownew IllegalArgumentException(v);

        }

    }

    3.       JSF標(biāo)簽:

    <h:selectOneMenu value="#{voutputType.DEVICETYPE}" converter="voutputDeviceTypeConverter">

    <f:selectItems value="#{voutput.deviceTypeList}"/>

    </h:selectOneMenu>

    主要有三個部分組成

    (a)     value="#{voutputType.DEVICETYPE}"

    javabean ,voutputType中的DEVICETYPE屬性,確定html代碼中<option selected="selected" value="Monitor">項的值

    voutputType配置信息在"WebRoot"WEB-INF"faces-config.xml

    <managed-bean>

           <managed-bean-name>voutputType</managed-bean-name>

           <managed-bean-class>

               cn.com.gentek.imatrix.xml.jaxb.voutput.ObjVOutputType

           </managed-bean-class>

           <managed-bean-scope>session</managed-bean-scope>

    </managed-bean>

        其中DEVICETYPE屬性對應(yīng)的變量是枚舉DeviceType的一個實例。

    (b)    converter="voutputDeviceTypeConverter"

    類型轉(zhuǎn)換器,在在"WebRoot"WEB-INF"faces-config.xml配置如下:

    <converter>

        <converter-id>voutputDeviceTypeConverter</converter-id>

        <converter-class>

           cn.com.gentek.imatrix.ui.VoutDeviceTypeConverter

        </converter-class>

    </converter>

    cn.com.gentek.imatrix.ui.VoutDeviceTypeConverter代碼如下:

    (實現(xiàn)< select><option>String類型值,與DeviceType類型之間的轉(zhuǎn)換)

    publicclass VoutDeviceTypeConverter implements Converter {

        public Object getAsObject(FacesContext context, UIComponent component, String value) {

           DeviceType result = null;

           if (value == null || value.length() < 1) {

               result = null;

           } else

               result = DeviceType.fromValue(value);

           returnresult;

        }

        public String getAsString(FacesContext context, UIComponent component, Object value) {

           String result = null;

           if (value != null) {

               if (value instanceof DeviceType) {

                  DeviceType temp = (DeviceType) value;

                  result = temp.value();

               }

           }

           return result;

        }

    }

    (c)      <f:selectItems value="#{voutput.deviceTypeList}"/>(重點)

    由于deviceTypeList對應(yīng)變量必須是SelectItemjavax.faces.model.SelectItem)列表,所以有必要將DeviceType類型實例的值和對應(yīng)String類型值,封裝在一個SelectItem實例中。實現(xiàn)代碼如下:

    ArrayList<SelectItem> deviceTypeList = new ArrayList<SelectItem>();

    for (int i = 0; i < DeviceType.values().length; i++) {

        deviceTypeList.add(new SelectItem(DeviceType.values()[i],

               DeviceType.values()[i].value()));

    }

    posted on 2008-03-03 16:15 zhan 閱讀(2132) 評論(3)  編輯  收藏

    FeedBack:
    # re: JSF web編程:通過enum數(shù)組生成 下拉選擇列表
    2008-03-03 20:00 | 魔域私服
    希望多出點這些實例  回復(fù)  更多評論
      
    # re: JSF web編程:通過enum數(shù)組生成 下拉選擇列表
    2008-03-04 10:40 | Jerome
    通過enum生成下拉列表 比其他從backbean數(shù)組中獲取有什么好處嗎?  回復(fù)  更多評論
      
    # re: JSF web編程:通過enum數(shù)組生成 下拉選擇列表
    2008-03-04 17:07 | zhan
    @Jerome
    學(xué)java的時間不長,對你說的backbean數(shù)組不是很了解。
    還有,這里只是提供參考而已,因該還有很多其他的實現(xiàn)方法,如果能列出具體示例的話,應(yīng)該很容易能看出他們的優(yōu)缺點。  回復(fù)  更多評論
      

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    <2008年3月>
    2425262728291
    2345678
    9101112131415
    16171819202122
    23242526272829
    303112345

    常用鏈接

    留言簿(1)

    隨筆檔案

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲人成网国产最新在线| 亚洲综合久久一本伊伊区| 一区在线免费观看| 国产乱辈通伦影片在线播放亚洲 | 无码国产精品一区二区免费模式| 久久影院亚洲一区| 一级毛片完整版免费播放一区| 亚洲午夜无码AV毛片久久| 永久在线观看免费视频| 久久亚洲私人国产精品| 国产精品视频永久免费播放| 久久久亚洲精华液精华液精华液 | 亚洲AV男人的天堂在线观看| 午夜亚洲国产成人不卡在线| jizz中国免费| 亚洲黄色在线视频| 成在线人永久免费视频播放 | 国产2021精品视频免费播放| 亚洲欧洲精品视频在线观看| 成人免费视频69| 黄网站在线播放视频免费观看| 国产亚洲综合成人91精品 | 成人精品综合免费视频| 亚洲精品V欧洲精品V日韩精品| 一本岛高清v不卡免费一三区| 亚洲午夜国产精品| 大学生高清一级毛片免费| 免费无码又爽又黄又刺激网站| 亚洲AV午夜福利精品一区二区| 丝瓜app免费下载网址进入ios| 亚洲毛片网址在线观看中文字幕| 日本人的色道免费网站| 4hu四虎免费影院www| 亚洲国产午夜精品理论片在线播放| 亚洲福利在线观看| 中文字幕亚洲一区二区三区 | 国产精品亚洲玖玖玖在线观看| 免费观看男人免费桶女人视频| 亚洲成人在线免费观看| 东方aⅴ免费观看久久av| 一级成人毛片免费观看|