0

2つのxhtmlファイルがあります。1つは表示される完全なページとして、もう1つはテンプレート()を使用します。ファイル(完全なファイル)を直接呼び出すと、含まれているすべての効果が完全に機能しますが、テンプレートを使用するページを呼び出すと、ページは読み込まれますが、ページングの効果は機能せず、次の例外が発生します。

"17:14:07,031 SEVERE [javax.enterprise.resource.webcontainer.jsf.application](http --0.0.0.0-8090-3)JSF1007:プレビューでコンポーネントIDの重複メッセージが見つかりました。17:14:07,031 SEVERE [javax .enterprise.resource.webcontainer.jsf.application](http-0.0.0.0-8090-3)+ id:j_id1 "

完全なコード(fileA.xhtml):

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://java.sun.com/jsf/facelets"  
    xmlns:h="http://java.sun.com/jsf/html"  
    xmlns:f="http://java.sun.com/jsf/core"  
    xmlns:p="http://primefaces.org/ui"> 
<h:head>
  <title>Parâmetros Integrator</title>
</h:head>       
<h:body>
<f:view>       
    <h:form prependId="false">    
    <p:dataTable id="dataTable" var="valor" value="#{parametroBean.listaParametro}"  
                 paginator="true" rows="10"  
                 paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"  
                 rowsPerPageTemplate="4,5,7"
                 style="max-width: 580px; min-width: 550px">  
        <f:facet name="header">  
            Parâmetros Integrator  
        </f:facet>    
        <p:column style="max-width: 40px; min-width: 40px; overflow: hidden" >  
            <f:facet name="header">  
                <h:outputText value="Parametro" />  
            </f:facet>  
            <h:outputText value="#{valor.parametro}" />  
        </p:column>    
        <p:column style="max-width: 50px; min-width: 50px; overflow: hidden">  
            <f:facet name="header">  
                <h:outputText value="Valor" />  
            </f:facet>  
            <h:outputText value="#{valor.valor}" />  
        </p:column>    
        <p:column style="max-width: 50px; min-width: 50px; overflow: hidden">  
            <f:facet name="header">  
                <h:outputText value="Descricão" />  
            </f:facet>  
            <h:outputText value="#{valor.desParametro}" />  
        </p:column>    
    </p:dataTable> 

</h:form>    
</f:view> 
</h:body>
</html>

テンプレートを使用したコード(fileB.xhtml):

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

  <ui:composition  template="/templates/conteudo.xhtml"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:p="http://primefaces.org/ui">


  <ui:define name="content">

    <p:dataTable id="dataTable2" var="valor" value="#{parametroBean.listaParametro}"  
                 paginator="true" rows="10"  
                 paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"  
                 rowsPerPageTemplate="4,5,7"
                 style="max-width: 980px; min-width: 950px">  
        <f:facet name="header">  
            Parâmetros Integrator  
        </f:facet>  

        <p:column style="max-width: 40px; min-width: 40px; overflow: hidden" >  
            <f:facet name="header">  
                <h:outputText value="Parametro" />  
            </f:facet>  
            <h:outputText value="#{valor.parametro}" />  
        </p:column>  

        <p:column style="max-width: 80px; min-width: 80px; overflow: hidden">  
            <f:facet name="header">  
                <h:outputText value="Valor" />  
            </f:facet>  
            <h:outputText value="#{valor.valor}" />  
        </p:column>  

        <p:column style="max-width: 80px; min-width: 80px; overflow: hidden">  
            <f:facet name="header">  
                <h:outputText value="Descricão" />  
            </f:facet>  
            <h:outputText value="#{valor.desParametro}" />  
        </p:column>  

    </p:dataTable>  


    </ui:define>

  </ui:composition>

誰かが私に何ができるか教えてもらえますか?

ありがとうございました!!!

4

2 に答える 2

0

あなたの問題はコンポーネントIDのどこかにあると思います。自分でコンポーネントに名前を付けないと、自動的に名前が付けられます。ID名を自分で変えてみてください。テンプレートファイルでもそれを行うことを忘れないでください。

于 2012-09-05T20:39:40.817 に答える
0

発生するエラーは、JSFで生成されたページのIDが重複していることを示しています。(conteudo.xhtmlテンプレート)で同じコンポーネントID(テンプレートと複合フェイスレットの両方)を確認します。FirebugまたはIE開発者ツールを使用している場合は、(使用しているブラウザーによっては)特定する方が簡単な場合があります。

于 2012-09-05T20:42:04.143 に答える