JSF RichFaces a4j并行ajax调用

时间:2015-02-25 14:08:36

标签: java richfaces ajax4jsf

问题

我想分别在JS事件上重新渲染JSF页面的部分/元素。我可以轻松附上

<a4j:ajax render="one two three" />

到事件发布者或使用

<a4j:jsFunction render="one two three" name="load" />

但是这些方法只发出一个请求,并在服务器响应后呈现所有内容。我想要的是并行请求和异步呈现。

到目前为止我尝试了什么

多个ajax元素

我尝试过多个ajax元素,每个元素都有不同的渲染属性值,但这样我得到的X请求和响应都包含需要重新渲染的所有元素的数据:

<a4j:ajax render="one" />
<a4j:ajax render="two" />
<a4j:ajax render="three" />

多个jsFunction元素

使用多个jsFunction可以在单个调用和单独渲染的意义上工作,但请求仅在最后一个被回答后发出,这更像是顺序加载(我使用浏览器开发工具测量):< / p>

<a4j:jsFunction render="one" name="loadOne" />
<a4j:jsFunction render="two" name="loadTwo" />
<a4j:jsFunction render="three" name="loadThree" />

最后一种方法看起来最有希望,因为函数是异步的(它们会立即返回),但请求似乎都在一个队列中,并且它们按顺序而不是并行处理。

1 个答案:

答案 0 :(得分:0)

在这里复兴一个老问题......

长话短说:这是不可能的,因为JSF是严格顺序的。周期。