2012-06-16 61 views
0

我已經多次使用Primefaces。非常好。但是,這一次我不知道爲什麼:使用Primefaces咆哮時出錯,無法轉換爲自動更新

我不能添加一個咆哮組件,錯誤是:org.primefaces.component.growl.Growl不能轉換到org.primefaces.component.api.AutoUpdatable

同樣的p:消息

這可能是由於我facelet中的一些錯誤。但我把它與我以前寫過的一個成功的小面比較,我無法弄清楚有什麼問題。該的facelet是問題是(刪除號碼:咆哮,所有順利):

<body> 

    <ui:composition template="./../../WEB-INF/master.xhtml"> 

     <ui:define name="top"> 
      <h:outputText value="#{bundle.ListAccountHolderTitle}"></h:outputText> 
     </ui:define> 

     <ui:define name="content"> 
      <h:form> 
       <p:growl id="growl"/> 
       <p:dataTable value="#{accountHolderBean.items}" var="holder"> 
        <p:column headerText="Type">#{holder.name}</p:column> 
       </p:dataTable> 
       <h:panelGrid columns="2"> 
        Type 
        <h:inputText id="type1" required="true" value="#{accountHolderBean.selected.type}"/> 
        Name 
        <h:inputText id="name1" value="#{accountHolderBean.selected.name}"/> 
        Field 
        <h:inputText id="field1" accesskey="f" value="#{accountHolderBean.field}"/> 
        Value 
        <h:inputText id="val" accesskey="v" value="#{accountHolderBean.val}"/> 
        All attributes 
        <h:outputText id="attrs" value="#{accountHolderBean.allAttributes}"/> 
       </h:panelGrid> 
       <p:commandLink update="attrs" actionListener="#{accountHolderBean.update}">Update</p:commandLink> 
      </h:form> 
     </ui:define> 

    </ui:composition> 

</body> 

回答

2
org.primefaces.component.growl.Growl cannot be cast to org.primefaces.component.api.AutoUpdatable 

這表明,你倆都PrimeFaces 2。 x和3.x庫在你的webapp的運行時類路徑中。在PrimeFaces 3.0中引入了AutoUpdatable,而在2.x之前Growl已經存在,但直到PrimeFaces 3.0之前它沒有實現AutoUpdatable

清理你的類路徑並擺脫有問題的舊PrimeFaces 2.x庫。

+0

我嘗試了primefaces 3,簡單地切換到2,然後又回到3。僅僅刪除Primefaces 2庫是不夠的,我需要刪除項目目錄。但是,這工作。謝謝。 – cpliu338