2012-12-12 32 views
0

我有這樣的情況: 在文件form.xhtml我有窗體用於過濾一些表,我給這裏定義的按鈕「過濾器」。從位於包含文件中的命令按鈕的Ajax更新數據表

在文件tableOne.xhtml,tableTwo.html,..我有dataTable id「filterTable」,我也包括form.xhtml到這個頁面。所有帶有dataTables的頁面都包含form.xhtml,並且它們上的所有數據表都具有相同的ID「filterTable」

我想要做的是在使用ajax按下過濾器按鈕後更新dataTable [#filterTable]。按鈕由<創建p:commandButton >。如果form和datatable在同一個文件中定義,我所需要的僅僅是將update =「filterTable」添加到我的命令bytton中。但如果我將它添加到form.xhtml中定義的按鈕我得到「找不到帶標識符的組件」錯誤。

是否有可能從頁面上包含的外部xhtml文件動態更新dataTables?如果是這樣,我該怎麼做?

回答

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> 
相關問題