<f:ajax> 多次调用 Java 方法 - 如何只做一次?



我正在使用ajax调用java方法bean.findDetail()。如果该方法在数据库中找到detailItem对象,则呈现inputText的其余部分。

<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>

相关内容

  • 没有找到相关文章

最新更新