Java-Android-jwebee
          Java-Android-jwebee
          對(duì)IT人來(lái)說(shuō),要成為一個(gè)優(yōu)秀的技術(shù)型管理者,除了需要具備扎實(shí)的技術(shù)基礎(chǔ)之外,還應(yīng)該培養(yǎng)良好的人際關(guān)系能力、談判與溝通技能、客戶關(guān)系與咨詢技能、商業(yè)頭腦和財(cái)務(wù)技能以及創(chuàng)新意識(shí),此外還要有巧妙的激勵(lì)技巧和化解沖突與解決突發(fā)問(wèn)題的能力.
          JSF預(yù)設(shè)會(huì)讀取faces-config.xml中關(guān)於Bean的定義,如果想要自行設(shè)置定義檔的名稱,我們是在web.xml中提供javax.faces.CONFIG_FILES參數(shù),例如:
           
          <web-app>
          <context-param>
          <param-name>javax.faces.CONFIG_FILES</param-name>
          <param-value>/WEB-INF/beans.xml</param-value>
          </context-param>

          ...
          </web-app>

           

          定義檔可以有多個(gè),中間以 "," 區(qū)隔,例如:
           
          /WEB-INF/navigation.xml,/WEB-INF/beans.xml

           

          一個(gè)Bean最基本要定義Bean的名稱、類別與存活範(fàn)圍,例如:
           
          ....
          <managed-bean>
          <managed-bean-name>user</managed-bean-name>
          <managed-bean-class>
          onlyfun.caterpillar.UserBean
          </managed-bean-class>
          <managed-bean-scope>session</managed-bean-scope>
          </managed-bean>
          ....

           

          如果要在其它類別中取得Bean物件,則可以先取得javax.faces.context.FacesContext,它代表了JSF目前的執(zhí)行環(huán)境物件,接著嘗試取得javax.faces.el.ValueBinding物件,從中取得指定的Bean物件,例如:
           
          FacesContext context = FacesContext.getCurrentInstance();
          ValueBinding binding =
          context.getApplication().createValueBinding("#{user}");
          UserBean user = (UserBean) binding.getValue(context);

           

          如果只是要嘗試取得Bean的某個(gè)屬性,則可以如下:
           
          FacesContext context = FacesContext.getCurrentInstance();
          ValueBinding binding =
          context.getApplication().createValueBinding(
          "#{user.name}");
          String name = (String) binding.getValue(context);

           

          如果有必要在啟始Bean時(shí),自動(dòng)設(shè)置屬性的初始值,則可以如下設(shè)定:
           
          ....
          <managed-bean>
          <managed-bean-name>user</managed-bean-name>
          <managed-bean-class>
          onlyfun.caterpillar.UserBean
          </managed-bean-class>
          <managed-bean-scope>session</managed-bean-scope>
          <managed-property>
          <property-name>name</property-name>
          <value>caterpillar</value>
          </managed-property>
          <managed-property>
          <property-name>password</property-name>
          <value>123456</value>
          </managed-property>
          </managed-bean>
          ....

           

          如果要設(shè)定屬性為 null 值,則可以使用<null-value/>標(biāo)籤,例如:
           
          ....
          <managed-property>
          <property-name>name</property-name>
          <null-value/>
          </managed-property>
          <managed-property>
          <property-name>password</property-name>
          <null-value/>
          </managed-property>
          ....

           

          當(dāng)然,您的屬性不一定是字串值,也許會(huì)是int、float、boolean等等型態(tài),您可以設(shè)定<value> 值時(shí)指定這些值的字串名稱,JSF會(huì)嘗試進(jìn)行轉(zhuǎn)換,例如設(shè)定為true時(shí),會(huì)嘗試使用Boolean.valueOf()方法轉(zhuǎn)換為boolean的 true,以下是一些可能進(jìn)行的轉(zhuǎn)換:

           

          型態(tài) 轉(zhuǎn)換
          short、int、long、float、double、byte,或相應(yīng)的Wrapper類別 嘗試使用Wrapper的valueOf()進(jìn)行轉(zhuǎn)換,如果沒(méi)有設(shè)置,則設(shè)為 0
          boolean 或 Boolean 嘗試使用Boolean.valueOf()進(jìn)行轉(zhuǎn)換,如果沒(méi)有設(shè)置,則設(shè)為 false
          char 或 Character 取設(shè)置的第一個(gè)字元,如果沒(méi)有設(shè)置,則設(shè)為0
          String 或 Object 即設(shè)定的字串值,如果沒(méi)有設(shè)定,則為空字串new String("")

           

          您也可以將其它產(chǎn)生的Bean設(shè)定給另一個(gè)Bean的屬性,例如:
           
          ....
          <managed-bean>
          <managed-bean-name>user</managed-bean-name>
          <managed-bean-class>
          onlyfun.caterpillar.UserBean
          </managed-bean-class>
          <managed-bean-scope>session</managed-bean-scope>
          </managed-bean>

          <managed-bean>
          <managed-bean-name>other</managed-bean-name>
          <managed-bean-class>
          onlyfun.caterpillar.OtherBean
          </managed-bean-class>
          <managed-bean-scope>session</managed-bean-scope>
          <managed-property>
          <property-name>user</property-name>
          <value>#{user}</value>
          </managed-property>
          </managed-bean>
          ....

           

          在上面的設(shè)定中,在OtherBean中的user屬性,接受一個(gè)UserBean型態(tài)的物件,我們?cè)O(shè)定為前一個(gè)名稱為user的UserBean物件。


          jwebee

          我的個(gè)人網(wǎng)站
          posted on 2008-05-26 12:37 周行 閱讀(448) 評(píng)論(0)  編輯  收藏 所屬分類: JSF
          Java-Android-jwebee
          主站蜘蛛池模板: 茶陵县| 德兴市| 闽清县| 黄山市| 图木舒克市| 新郑市| 临颍县| 庆云县| 秭归县| 乐清市| 铁岭县| 彝良县| 武隆县| 崇仁县| 凤翔县| 资溪县| 古交市| 平舆县| 宜兰市| 同江市| 射洪县| 镇安县| 东丰县| 合肥市| 兴文县| 波密县| 丰原市| 元朗区| 三门县| 都昌县| 平度市| 青州市| 弋阳县| 乐清市| 故城县| 达尔| 新津县| 德化县| 平乡县| 施秉县| 清丰县|