JSF2多个Ajax请求相同的托管bean不同的动作方法

时间:2013-04-15 07:33:14

标签: ajax jsf-2 primefaces simultaneous

我有一个JSF2 Primefaces页面MultiAjax.xhtml,带有两个按钮BUTA和BUTB。 该页面有一个ViewScoped ManagedBean MBMultiAjax,它有两个actionmethods但是Action和butBaction ...这两个方法都有一个startTime和endTime打印到sout ...

查询数据库并在页面上的两个不同表中显示结果。

如果我先按BUTA然后按BUTB,我发现方法butBaction的执行在butAction完成之后开始,这是从两个方法的启动时间和结束时间的sout验证...

我希望由于Ajax是异步的,因此两个方法的执行开始时间必须是差别很小,而不是同步执行的另一个。

为什么会这样?

1 个答案:

答案 0 :(得分:2)

默认情况下<p:commandButton将对请求进行排队,您应该添加async属性并将其设置为true:

<p:commandButton async="true" ... />

来自Primefaces文档:

async
Default: FALSE
Type: Boolean
Description: When set to true, ajax requests are not queued.