0

さて、新しいprimefacesエラー(とにかく私にとって)。起動時に私は得る:

java.lang.NoClassDefFoundError: org/primefaces/event/SelectEvent

私はprimefaces 3.3.1を使用していますが、古いprimefacesバージョンと競合がないことを確認しました. 何か案は?以下は、エラーの原因となっている .xhtml です。

<html xmlns="http://www.w3c.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui" >    

<h:head>

</h:head>
<h:body>
<center>
<h:form id="form">

<p:dataTable id="personTable" var="client" value="#{tableBean.persons}" paginator="true" rows="5"
             selection="#{tableBean.person}" selectionMode="single">

    <p:ajax event="rowSelect" listener="#{tableBean.onUserSelect}" update=":form:displayf" oncomplete="carDialog.show()" />  

    <p:ajax event="rowUnselect" listener="#{tableBean.onUserUnselect}" update=":form:displayf" />

    <f:facet name="header">
        Click "View" button after selecting a row to see details
    </f:facet>

    <p:column headerText="Name">
        #{client.name}
    </p:column>

    <p:column headerText="Address">
        #{client.address}
    </p:column>

    <p:column headerText="Phone" >
        #{client.phone}
    </p:column>

</p:dataTable>

<p:dialog id="dialog" header="Person Detail" widgetVar="personDialog" resizable="false"  
            showEffect="explode" hideEffect="explode">  

    <h:panelGrid id="displayf" columns="2" cellpadding="4">


        <h:outputText value="Name:" />
        <h:outputText value="#{tableBean.person.name}" />

        <h:outputText value="Address:" />
        <h:outputText value="#{tableBean.person.address}" />

        <h:outputText value="Phone:" />
        <h:outputText value="#{tableBean.person.phone}" />

    </h:panelGrid>
</p:dialog>

</h:form>

</center>
</h:body>
</html>
4

1 に答える 1

0

さて、答えは明らかに見つかりました。プライムフェイスを扱う場合:

  1. IE9/8 でテストしないでください (少なくとも排他的ではありません)。一部のコードは microsoft では機能しませんが、Firefox では完全に機能することがわかりました。

  2. 互換性のあるバージョンの primefaces と jsf を使用していることを確認してください。私は primefaces 3.3.1 と mojarra 2.1.1. を使用していますが、混在には注意してください。

  3. また、primefaces は明らかに完全な下位互換性がありません。古いチュートリアルの一部は、新しいバージョンのプライムフェイスでは機能しない場合があります。現在のユーザー マニュアル/ショーケース アプリケーションは、古い 2.2 プライムフェイス リリースでは完全に機能しないことに気付きました。

  4. プライムフェイスには注意してください。いくつかの優れた機能がありますが、バグが多く、リリース間の違いがあらゆる種類の問題につながる可能性があります。

于 2012-08-03T21:04:09.160 に答える