0

私はそのような状況を抱えています:ファイルform.xhtmlには、いくつかのテーブルをフィルターするために使用されるフォームがあり、ここで定義されたボタン「フィルター」を与えました。

ファイルtableOne.xhtml、tableTwo.html、.. ID「filterTable」のdataTableがあり、このページにform.xhtmlも含めました。dataTables を含むすべてのページには form.xhtml が含まれ、それらのすべての dataTables には同じ ID "filterTable" があります

私がやりたいのは、ajaxを使用してフィルターボタンが押された後にdataTable [#filterTable]を更新することです。ボタンは <p:commandButton> によって作成されます。フォームとデータテーブルが同じファイルで定義されている場合、必要なのは、コマンドバイトンに update="filterTable" を追加するだけです。しかし、form.xhtml で定義されたボタンに追加すると、「識別子を持つコンポーネントが見つかりません」というエラーが表示されます。

ページに含まれる外部の xhtml ファイルから dataTables を動的に更新することは可能ですか? もしそうなら、どうすればできますか?

4

1 に答える 1

1

例:

test.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: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>
    <h:form id="dtForm">
        <p:dataTable id="dataTable" />
    </h:form>
    <ui:include src="/include.xhtml" />
</h:body>
</html>

include.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: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>
    <h:form>
        <p:commandButton value="button" update=":dtForm" />
    </h:form>
</h:body>
</html>
于 2012-12-12T12:14:00.793 に答える