我想分别在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" />
最后一种方法看起来最有希望,因为函数是异步的(它们会立即返回),但请求似乎都在一个队列中,并且它们按顺序而不是并行处理。
答案 0 :(得分:0)
在这里复兴一个老问题......
长话短说:这是不可能的,因为JSF是严格顺序的。周期。