2011-06-02 58 views
3

我使用ajax來調用java方法bean.findDetail()。如果該方法在數據庫中找到detailItem對象,則會渲染inputTexts的其餘部分。<f:ajax> Java方法的多次調用 - 如何只做一次?

<h:inputText id="worker" value="#{bean.item.id}"> 
<f:ajax event="change" render="name" listener="#{bean.findDetail}"/> 
<f:ajax event="change" render="surname"/> 
<f:ajax event="change" render="age"/> 
</h:inputText> 

<h:panelGroup> 
<h:inputText id="name" value="#{bean.detailItem.name}" disabled="true"/> 
<h:inputText id="surname" value="#{bean.detailItem.surname}" disabled="true"/> 
<h:inputText id="age" value="#{bean.detailItem.age}" disabled="true"/> 
</h:panelGroup> 

一切工作正常,但方法被稱爲三次!

是否有某種方法一次渲染所有三個inputText?

回答

4

是的,只是地方的空間分隔值渲染元素

<h:inputText id="worker" value="#{bean.item.id}"> 
<f:ajax event="change" render="name surname age" listener="#{bean.findDetail}"/> 
</h:inputText> 
+0

Oooops,謝謝!我試過了,只能用逗號分隔(render =「name,surname,age」):) – gaffcz 2011-06-02 06:34:29