【问题标题】:JSF2 multiple Ajax requests to same managed bean different action methodsJSF2对同一个托管bean的多个Ajax请求不同的操作方法
【发布时间】:2013-04-15 07:33:13
【问题描述】:

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

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

如果我先按BUTA再按BUTB,我发现butBaction方法的执行是在butAAction完成后开始执行的,这可以从两个方法的starttime和endtime的sout得到验证...

我希望由于 Ajax 是异步的,所以这两种方法的执行开始时间必须只是很小的差异,而不是一个接一个执行的同步。

为什么会这样?

【问题讨论】:

    标签: ajax jsf-2 primefaces simultaneous


    【解决方案1】:

    默认<p:commandButton将请求排队,你应该添加async属性并将其设置为true:

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

    来自 Primefaces 文档:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-03
      • 2011-11-28
      • 2012-12-29
      • 2015-02-14
      • 2017-03-04
      相关资源
      最近更新 更多