0

最近、Primefaces を 4.0 から 5.1 にアップグレードしましたが、その後、コマンド ボタンをクリックしてもダイアログが表示されません。dynamic="false" で動作しますが、遅延ロードする必要があります。ExampleBean は sessionScoped で、JSF 2.2 を使用しています。誰かがこれを解決するのを手伝ってくれますか?

<ui:composition template="/template/common/pagelayout.xhtml"
    xmlns="http://www.w3.org/1999/xhtml"
    xmlns:f="http://xmlns.jcp.org/jsf/core"
    xmlns:h="http://xmlns.jcp.org/jsf/html"
    xmlns:c="http://xmlns.jcp.org/jsp/jstl/core"
    xmlns:p="http://primefaces.org/ui"
    xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
    xmlns:ez="http://xmlns.jcp.org/jsf/composite">

    <ui:define name="content">    
        <h:form id="form">
            <p:commandButton type="button" value="Log" onclick="PF('dlgLog').show();" icon="botaoLog" />
        </h:form>

        <p:dialog header="HEADER" widgetVar="dlgLog" resizable="false" modal="true" height="500" width="1000" dynamic="true">
            <ui:include src="logPage.xhtml"/>
        </p:dialog>
    </ui:define>
</ui:composition>

logPage.xhtml

<html xmlns="http://www.w3.org/1999/xhtml"
  xmlns:h="http://xmlns.jcp.org/jsf/html"
  xmlns:f="http://xmlns.jcp.org/jsf/core"
  xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
  xmlns:p="http://primefaces.org/ui">

  <h:head>
  </h:head>

  <h:body>
    <h:form id="formlog">
        <p:dataTable var="log" value="#{exampleBean.logs}" emptyMessage="Empty">

            <p:column headerText="Header1" width="10%">  
                <h:outputText value="#{log.date}">
                    <f:convertDateTime pattern="dd/MM/yyyy - HH:mm"/>
                </h:outputText>
            </p:column>

            <p:column headerText="Header2" width="10%">  
                <h:outputText value="#{log.op}" />  
            </p:column>

            <p:column headerText="Header3">
                <p:outputLabel value="#{log.name}"/>
            </p:column>

        </p:dataTable>
    </h:form>
  </h:body>
</html>
4

2 に答える 2

0

より具体的には、あなたは h:head タグを削除しました (そして、私は ;- を見つけました)。使用したバージョン間で、PF はコード jsf ライブラリのデフォルトの実装とは異なる独自の h:head レンダラーを作成したため、動作が異なります (jsf impl が同じままであると仮定します)。

于 2015-01-22T15:49:08.843 に答える
0

最後に、問題が何であるかを理解しました。<h:head>logPage.xhtml からタグを削除しただけで機能しました。理由はわかりませんが、おそらくタグ<ui:include>を付けるべきではないコンポジションを期待することに関係があります。<h:head>

于 2015-01-22T13:18:01.233 に答える