java - <f :ajax> multiple call of Java method - how to do it only once?

标签 java ajax jsf jsf-2

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

相关文章:

javascript - 在 Laravel 中使用 Ajax 保存路径图像

java - 移位运算符 - 操作数必须可转换为整数基元?

java - 从 S3 存储桶获取文件大小

java - 如何在网格框中随机填充颜色

javascript - 如何使用网络语言将一个变量连接到另一个变量的名称

java - 无法在 Alfresco 中创建新用户

java - 使用递归打印星号

javascript - POST 未定义索引 $v3

JSF <h :inputText> value does not update the bean property

css - 向 selectOneRadio 生成的标签添加样式