Sealyu

          --- 博客已遷移至: http://www.sealyu.com/blog

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            618 隨筆 :: 87 文章 :: 225 評論 :: 0 Trackbacks
          作者: sealyu   日期:2009-07-10

          我們都知道,在<h:selectOneMenu>中使用布爾型selectItem時,itemValue為"true"/"false".例如:
          <h:selectOneMenu  value="#{controller.booleanPropertyX}">
              <f:selectItem itemLabel="#{messages['xxxxx']}" itemValue="true"/>
              <f:selectItem itemLabel="#{messages['xxxxx']}" itemValue="false"/>
          </
          h:selectOneMenu>
          這樣是沒有問題的。
          但是如果你使用<rich:inplaceSelect>來實(shí)現(xiàn)選擇功能的時候,"true"/"false"就不起作用了,例如:
          <rich:inplaceSelect minSelectWidth="80" editClass="inlineSelectEdit"
              defaultLabel="-Select-" immediate="true"
              value="#{controller.booleanPropertyX}">
              <f:selectItem itemLabel="#{messages['xxxxx']}" itemValue="true"/>
              <f:selectItem itemLabel="#{messages['xxxxx']}" itemValue="false"/>
          </rich:inplaceSelect>

          這時候即使sfsb中的值booleanPropertyX是"true"/"false",也不會有selectItem被選中,而且如果你選擇一個selectItem,還會報(bào)錯:IllegalArgumentException.說明selectItem的itemValue跟#{controller.booleanPropertyX}的值是不匹配的。
          后來我將
          "true"/"false"改為"0"/"1", 還是不起作用。

          Finally,終于試出了正確的方法:使用"#{true}"/"#{false}". 正確的使用方法:
          <rich:inplaceSelect minSelectWidth="80" editClass="inlineSelectEdit"
              defaultLabel="-Select-" immediate="true"
              value="#{controller.booleanPropertyX}">
              <f:selectItem itemLabel="#{messages['xxxxx']}" itemValue="#{true}"/>
              <f:selectItem itemLabel="#{messages['xxxxx']}" itemValue="#{false}"/>
          </rich:inplaceSelect>


          也就是說:
          (1)。如果你使用<h:selectOneMenu>,那么你的f:selectItem的itemValue應(yīng)該使用:"true"/"false"
          (2)。如果你使用<rich:inplaceSelect>,那么你的f:selectItem的itemValue應(yīng)該使用:"#{true}"/"#{false}"

          原因暫時還沒研究出來,但是結(jié)果就是這樣的了。
          posted on 2009-07-10 17:13 seal 閱讀(951) 評論(0)  編輯  收藏 所屬分類: Seam
          主站蜘蛛池模板: 铜山县| 太谷县| 巴东县| 台南县| 镇原县| 宁海县| 五指山市| 辰溪县| 达日县| 华池县| 洪洞县| 额济纳旗| 寿光市| 同江市| 兴安盟| 新竹市| 乐都县| 青川县| 安远县| 松江区| 观塘区| 嘉鱼县| 珲春市| 右玉县| 电白县| 芮城县| 茂名市| 鸡东县| 乐业县| 托里县| 玉田县| 莲花县| 喜德县| 大荔县| 墨玉县| 镇原县| 宁强县| 景宁| 陕西省| 五家渠市| 镶黄旗|