我正在使用 ajax 调用 java 方法 bean.findDetail()
。如果该方法在数据库中找到 detailItem 对象,则呈现其余的 inputTexts。
<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 吗?
最佳答案
是的,只需将空格分隔的值放在渲染元素中
<h:inputText id="worker" value="#{bean.item.id}">
<f:ajax event="change" render="name surname age" listener="#{bean.findDetail}"/>
</h:inputText>
关于java - <f :ajax> multiple call of Java method - how to do it only once?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6210696/