2011-11-09 36 views
0

我需要創建與此How to dynamically add JSF componentsprimefaces部分提交的數據表

它的工作原理描述的功能一個DataTable,但在我的形式,除了這個數據表我有其他元素。我需要點擊添加按鈕時,除了創建新字段外,只有在數據表中輸入的數據纔會被提交。但是contact.email的值始終爲空。我試圖使用primefaces命令按鈕。

<h:form> 
//other elements 
<h:panelGrid id="region" columns="1"> 
    <p:commandButton action="#{myBean.addContact}" update="region" value="add" immediate="true" process="region @this" ajax="true"/> 
    <h:dataTable id="addContacts" value="#{myBean.contacts}" var="contact"> 
    <h:column> 
     <p:inputText id="email" value="#{contact.email}" /> 
    </h:column> 
</h:dataTable> 
</h:panelGrid> 
</h:form> 

我該如何使這部分提交工作?

感謝

+0

確保組分分離你的bean是'@ ViewScoped',完全如鏈接答案所示?如果它是'@ RequestScoped',則它不起作用。 – BalusC

回答

-1

在PrimeFaces嘗試使用prependId = 「false」 屬性的形式

<h:form prependId="false"> 
+0

**永不**使用'prependId =「false」'。請參閱https://stackoverflow.com/questions/7415230/uiform-with-prependid-false-breaks-fajax-render – Kukeltje

-1

使用逗號要部分提交

process="@this,addContacts" 
+1

空格同樣有效。 – BalusC