2013-07-03 28 views
0

項目中的其他元素工作,如p:tree,p:calendar;但selectManyCheckbox不。主題已到位,所有配置都像規格一樣。PrimeFaces selectManyCheckbox不生成UI類

它越來越沮喪,有什麼想法?非常感激!

編輯: 我用3.2版

這是輸出HTML

<fieldset> <label><span class="filter-criteria-label">Catégories   principales: </span></label> <div data-role="fieldcontain" id="dtUserList:selectRoles">  <fieldset data-role="controlgroup">    <input type="checkbox" checked="checked" value="CLIENT" 
       name="dtUserList:selectRoles" id="dtUserList:selectRoles:0"><label 
       for="dtUserList:selectRoles:0">Grand public</label><input 
       type="checkbox" checked="checked" value="REFERRANT_ENTREPRISE" 
       name="dtUserList:selectRoles" id="dtUserList:selectRoles:1"><label 
       for="dtUserList:selectRoles:1">Référent</label><input 
       type="checkbox" value="CLIENT_ENTREPRISE" 
       name="dtUserList:selectRoles" id="dtUserList:selectRoles:2"><label 
       for="dtUserList:selectRoles:2">Entreprise</label><input 
       type="checkbox" value="EXPLOITANT" name="dtUserList:selectRoles" 
       id="dtUserList:selectRoles:3"><label 
       for="dtUserList:selectRoles:3">Exploitant</label><input 
       type="checkbox" value="PRESTATAIRE" 
       name="dtUserList:selectRoles" id="dtUserList:selectRoles:4"><label 
       for="dtUserList:selectRoles:4">Prestataire</label><input 
       type="checkbox" value="CALL_CENTER" 
       name="dtUserList:selectRoles" id="dtUserList:selectRoles:5"><label 
       for="dtUserList:selectRoles:5">Callcenter</label><input 
       type="checkbox" value="REGISSEUR" name="dtUserList:selectRoles" 
       id="dtUserList:selectRoles:6"><label 
       for="dtUserList:selectRoles:6">Regisseur</label>  </fieldset>  </div> </fieldset> 

這是它應該如何看(從PF展示拍攝):

<table class="ui-selectmanycheckbox ui-widget" id="form:horizontal"> 
    <tbody> 
     <tr> 
      <td><div class="ui-chkbox ui-widget"> 
        <div class="ui-helper-hidden-accessible"> 
         <input type="checkbox" value="Option 1" name="form:horizontal" 
          id="form:horizontal:0"> 
        </div> 
        <div 
         class="ui-chkbox-box ui-widget ui-corner-all ui-state-default"> 
         <span class="ui-chkbox-icon ui-c"></span> 
        </div> 
       </div></td> 
      <td><label for="form:horizontal:0">Option 1</label></td> 
      <td><div class="ui-chkbox ui-widget"> 
        <div class="ui-helper-hidden-accessible"> 
         <input type="checkbox" value="Option 2" name="form:horizontal" 
          id="form:horizontal:1"> 
        </div> 
        <div 
         class="ui-chkbox-box ui-widget ui-corner-all ui-state-default"> 
         <span class="ui-chkbox-icon ui-c"></span> 
        </div> 
       </div></td> 
      <td><label for="form:horizontal:1">Option 2</label></td> 
      <td><div class="ui-chkbox ui-widget"> 
        <div class="ui-helper-hidden-accessible"> 
         <input type="checkbox" value="Option 3" name="form:horizontal" 
          id="form:horizontal:2"> 
        </div> 
        <div 
         class="ui-chkbox-box ui-widget ui-corner-all ui-state-default"> 
         <span class="ui-chkbox-icon ui-c"></span> 
        </div> 
       </div></td> 
      <td><label for="form:horizontal:2">Option 3</label></td> 
     </tr> 
    </tbody> 
</table> 
+1

你的classpath乾淨而清脆嗎? (即沒有重複的不同版本的PF庫)。你有沒有在'faces-config.xml'中註冊任何自定義'',可能會覆蓋PF的?無論如何,在組件的'encodeAll()'中放置一個調試斷點並從那裏前進應該能夠深入瞭解封面下發生了什麼。 – BalusC

+0

我在我的faces-config.xml中有「 PRIMEFACES_MOBILE」。 謝謝先生,謝謝! :)請發表您的評論作爲答案,我會將其標記爲已解決。 – alex

回答

2

可能發生當您爲該組件使用錯誤的渲染器時。這可能有幾個原因:

  1. 運行時類路徑被多個不同的版本化的PrimeFaces庫所污染。一個版本的渲染器可能與另一個版本中的組件不匹配。

  2. 自定義渲染器已通過<render-kit>faces-config.xml中註冊。

  3. 不同的渲染工具包已通過<default-render-kit-id><render-kit-factory>faces-config.xml中註冊。

相關問題