我正在使用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>