我有一个Command Button来调用Action方法并更新其他相关的UI组件:
<p:commandButton value="Commit" action="#{controller.persist}" process="@this" update=":form:buttons :dateCommittedText" />
Run Code Online (Sandbox Code Playgroud)
在Action方法中,值持久保存到数据库:
public void persist() {
databaseService.save(some item);
status = "Committed";
}
Run Code Online (Sandbox Code Playgroud)
是否可以update=":form:buttons :dateCommittedText"
在项目完成持久化到数据库之前进行更新?
目前数据库事务需要几秒钟,这个暂停使我的应用程序感觉非常反应迟钝.
你可以用p:remoteCommand
它,
<p:commandButton value="Commit" action="#{controller.onlyMinorChanges}"
process="@this" update=":form:buttons :dateCommittedText"
onsuccess="doAfter()"/>
<p:remoteCommand name="doAfter" action="#{controller.persist}"/>
Run Code Online (Sandbox Code Playgroud)
在你的bean中:
public void onlyMinorChanges() {
status = "Committed";
}
public void persist() {
databaseService.save(some item);
}
Run Code Online (Sandbox Code Playgroud)
无关:
关于反应迟钝,请看看这个AJAX状态
归档时间: |
|
查看次数: |
1353 次 |
最近记录: |