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

          ...
          </web-app>

           

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

           

          一個Bean最基本要定義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>
          ....

           

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

           

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

           

          如果有必要在啟始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-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>
          ....

           

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

           

          當然,您的屬性不一定是字串值,也許會是int、float、boolean等等型態,您可以設定<value> 值時指定這些值的字串名稱,JSF會嘗試進行轉換,例如設定為true時,會嘗試使用Boolean.valueOf()方法轉換為boolean的 true,以下是一些可能進行的轉換:

           

          型態 轉換
          short、int、long、float、double、byte,或相應的Wrapper類別 嘗試使用Wrapper的valueOf()進行轉換,如果沒有設置,則設為 0
          boolean 或 Boolean 嘗試使用Boolean.valueOf()進行轉換,如果沒有設置,則設為 false
          char 或 Character 取設置的第一個字元,如果沒有設置,則設為0
          String 或 Object 即設定的字串值,如果沒有設定,則為空字串new String("")

           

          您也可以將其它產生的Bean設定給另一個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>
          ....

           

          在上面的設定中,在OtherBean中的user屬性,接受一個UserBean型態的物件,我們設定為前一個名稱為user的UserBean物件。


          jwebee

          我的個人網站
          posted on 2008-05-26 12:37 周行 閱讀(448) 評論(0)  編輯  收藏 所屬分類: JSF
          Java-Android-jwebee
          主站蜘蛛池模板: 康马县| 秭归县| 瓦房店市| 佛冈县| 龙门县| 历史| 沙雅县| 吉木乃县| 汝阳县| 泰州市| 建平县| 伊通| 晋宁县| 土默特左旗| 双城市| 聂拉木县| 丹江口市| 黄浦区| 长武县| 洪泽县| 金阳县| 三江| 宿松县| 望城县| 安顺市| 卢龙县| 永丰县| 金塔县| 沁水县| 陆丰市| 达孜县| 建水县| 廉江市| 新田县| 福泉市| 凤凰县| 峡江县| 沈阳市| 巴楚县| 冷水江市| 仙桃市|