在我的JSF + Richfaces应用程序中,我观察到当我从不同的a4j:region触发ajax请求时,会执行rich:datascroller。这是我的代码:
<jsfc:view>
<a4j:region renderRegionOnly="true">
<a4j:form>
<a4j:region renderRegionOnly="true">
<jsfh:selectOneMenu id="selectOneMerchant" value="#{smsTrafficBean.page}">
<a4j:support event="onchange" ajaxSingle="true"/>
<jsfc:selectItem itemValue="a" itemLabel="a"/>
<jsfc:selectItem itemValue="b" itemLabel="b"/>
</jsfh:selectOneMenu>
</a4j:region>
</a4j:form>
</a4j:region>
<a4j:region renderRegionOnly="true">
<jsfh:form>
<a4j:region renderRegionOnly="true">
<rich:datascroller id="scroll_1" for="sms" page="#{smsTrafficBean.page}"/>
<rich:dataTable id="sms" var="s" value="#{smsTrafficBean.smsByFilter}">
</rich:dataTable>
</a4j:region>
</jsfh:form>
</a4j:region>
</jsfc:view>当用户从selectOneMenu中选择项时,会向服务器发出ajax请求。在生成对该请求的响应期间,将执行smsTrafficBean.smsByFilter方法,这并不是我所期望的。当我删除rich:datascroller时,一切都很好。
有没有人知道为什么当ajax请求从不同的aj4:region触发时,添加rich:datascroller组件会影响调用smsTrafficBean.smsByFilter?
发布于 2009-09-30 17:24:25
因为您正在更改selectmenu中smsTrafficBean.page的值,然后滚动条将读取该值?
https://stackoverflow.com/questions/1389272
复制相似问题