<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
      2008年3月3日
     1 package cn.com.gentek.imatrix.test;
     2 
     3 public class tesRef {
     4     private DataItem item1;
     5     private DataItem item2;
     6 
     7     public tesRef() {
     8         item1 = new DataItem();
     9         item2 = item1;
    10     }
    11 
    12     public void newItem1() {
    13         item1 = new DataItem();
    14     }
    15 
    16     public void print() {
    17         System.out.println("item1: " + item1.toString());
    18         System.out.println("item2: " + item2.toString());
    19     }
    20 
    21     public static void main(String[] args) {
    22         tesRef tr = new tesRef();
    23         tr.print();
    24         tr.newItem1();
    25         tr.print();
    26     }
    27 }
    28 


        以上一段很簡(jiǎn)單的代碼,很容易看懂。它的運(yùn)行結(jié)果如下:
    item1: cn.com.gentek.imatrix.test.DataItem@c17164
    item2: cn.com.gentek.imatrix.test.DataItem@c17164
    item1: cn.com.gentek.imatrix.test.DataItem@1fb8ee3
    item2: cn.com.gentek.imatrix.test.DataItem@c17164

        toString()的結(jié)果格式為類名@對(duì)象的16進(jìn)制Hash表示。這里我們可以如此理解,是一個(gè)指向DataItem類實(shí)例化時(shí),在內(nèi)存中開(kāi)辟的一塊空間的地址標(biāo)識(shí)。
        在調(diào)用函數(shù)tr.newItem1()(24行)之前,item1和item2所指向的內(nèi)存空間是相同的。所以在改變item1的同時(shí)item2的值勢(shì)必更這一起改變,同理改變item2的內(nèi)容,item1的內(nèi)容也會(huì)做出相同的改變。item1.toString()和item2.toString()的結(jié)果正可以說(shuō)明這一點(diǎn)。這也說(shuō)明了,item1和item2存儲(chǔ)的都是一個(gè)內(nèi)存地址。
        當(dāng)調(diào)用
    tr.newItem1(),重新實(shí)例化item1,之后item1指向的另一塊內(nèi)存空間,而item2保持不變,指向最初那塊內(nèi)存空間。此時(shí),item1和和item2的內(nèi)容將是毫不相關(guān)的。

    posted @ 2008-03-04 17:33 zhan 閱讀(1590) | 評(píng)論 (2)編輯 收藏

    1.       HTML代碼

    最終實(shí)現(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>

    主要有三個(gè)部分組成

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

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

    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屬性對(duì)應(yīng)的變量是枚舉DeviceType的一個(gè)實(shí)例。

    (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代碼如下:

    (實(shí)現(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}"/>(重點(diǎn))

    由于deviceTypeList對(duì)應(yīng)變量必須是SelectItemjavax.faces.model.SelectItem)列表,所以有必要將DeviceType類型實(shí)例的值和對(duì)應(yīng)String類型值,封裝在一個(gè)SelectItem實(shí)例中。實(shí)現(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 @ 2008-03-03 16:15 zhan 閱讀(2125) | 評(píng)論 (3)編輯 收藏
    <2008年3月>
    2425262728291
    2345678
    9101112131415
    16171819202122
    23242526272829
    303112345

    常用鏈接

    留言簿(1)

    隨筆檔案

    搜索

    •  

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 亚洲精品无码激情AV| 亚洲美女视频网址| 一级成人a毛片免费播放| 亚洲码一区二区三区| 午夜私人影院免费体验区| 国产免费久久久久久无码| 久久亚洲AV无码精品色午夜| 女人毛片a级大学毛片免费| 国产大片免费天天看| 亚洲成人午夜电影| 亚洲国产精品综合久久一线| 免费看搞黄视频网站| 亚洲av成人一区二区三区在线播放| 亚洲综合伊人久久大杳蕉| 国产三级在线观看免费| 中文在线观看国语高清免费| 久久夜色精品国产噜噜亚洲a| 亚洲精品无码久久久久| 日本不卡在线观看免费v| 中文无码成人免费视频在线观看 | 亚洲日本人成中文字幕| 亚洲日韩VA无码中文字幕| 很黄很色很刺激的视频免费| 巨胸喷奶水www永久免费| 亚洲国产成人手机在线观看| 亚洲国产高清人在线| 亚洲人成网站色在线入口| 卡一卡二卡三在线入口免费| 色欲A∨无码蜜臀AV免费播 | 国产亚洲一区二区在线观看| 免费观看大片毛片| 2020久久精品国产免费| 免费毛片a线观看| 一边摸一边桶一边脱免费视频 | 精品国产免费人成网站| 亚洲Aⅴ在线无码播放毛片一线天 亚洲avav天堂av在线网毛片 | 亚洲精品中文字幕乱码| 亚洲精品无码鲁网中文电影| 亚洲精品麻豆av| 国产女高清在线看免费观看| 在线观看免费人成视频|