[Ajax4JSF] rich:datascroller与commandLink 的target="_blank"的不兼容

Gudice 2008-02-22
代码简单描述:
<a4j:repeat ...>
    ......
    <h:commandLink ... target="_blank">
    ......
</a4j:repeat>
<rich:datascroller .../>
点击A页面中的commandLink的事件,会弹出B页面,如果现在再去点击
A页面中的分页标记,会跳转到一个新的C页面,内容和B页面相同,
而正确结果应该是在A页面中无刷新的显示新的分页内容。
<t:commandLink>我也试过了,也不行。

vieri122 2008-02-22
正在学习richfaces当中 .....
好象richfaces自己提供了一个类似commandLink的组件吧
Gudice 2008-02-25
问题解决:
应该在分页标记的外围加上<a4:region>,如下面代码:
<a4j:region ......><rich:datascroller ...... /></a4j:region>
具体出现的这个问题的原因还有待进一步的了解richfaces,如果哪位知道,请告知,谢谢
sunyson 2008-02-27
最好把所有的页面代码贴出来,不然很小的差别会导致非预期的行为.
以下是Richfaces Reference关于 <a4j:region>的描述。我觉得可能是对于Ajax组件没有很好理解的原因。
The <a4j:region> component defines an area that is decoded on the server after Ajax submission。
<a4j:region>组件定义了在提交Ajax请求后,需要在服务端解码的区域。
The region marks an area page that is decoded on the server. In most cases it is not necessary to use the
region, as ViewRoot is a default region. This component helps to reduce data quantity processed by the
server, but the region doesn't influence on the standard submission rules. It means that:
• The area that is to be submitted onto the server should be embedded in <h:form/a4j:form> component.
• The whole form is submitted on Ajax response and not a region that request is performed from.
所以,<a4j:region>组件并不是必须的,一般用来优化响应速度。
Global site tag (gtag.js) - Google Analytics