我有一个定义帮助程序的流程,正确提交数据
<var name="contactForm" class="my.package.bean.ContactFormHelper"/>
要根据用户输入获取一些数据,我在视图中使用绑定属性String id
调用ajax:
<h:panelGroup >
<p:outputLabel for="id" value="ID" />
<p:inputText id="id" required="true" value="#{contactForm.id}" label="ID">
<f:ajax
event="change"
listener="#{contactController.identifyCustomer(contactForm)}"
render="anotherPanel"
/>
<p:clientValidator/>
</p:inputText>
<p:message for="id" />
</h:panelGroup>
但是当执行identifyCustomer
时,只更新放置ajax的字段(String id
)。其余字段填充了默认值。
LOG TRACE
[21/11/16 17:10:12:508 CET] 0000007a SystemOut O DEBUG [WebContainer:0:8610ff45-f4c5-4faf-a370-efa36701bc01] - ContactForm [name =,surnames =,nif = 46713535Y]
为什么会发生这种情况?
答案 0 :(得分:1)
我找到了process
使用@this
的解决方案和以逗号分隔的字段:
<p:ajax
event="change"
listener="#contactController.identifyCustomer(contactForm)}"
<!-- add process with the fields to bind -->
process="@this name,surname1,surname2"
update="newCustomerPanel"
/>
希望对别人有所帮助。