rich:datascroller绑定HtmlDatascroller.getPage()问题

时间:2011-03-27 13:34:19

标签: jsf richfaces

我有jsf 1.2和richfaces 3.3.3.Final。

我的java中有一个rich:datascroller的绑定。 但是有一个奇怪的事情发生:getPage()方法有时会返回正确的页码,有时会返回错误的页码。 这有什么问题?

jsf中的组件:

<rich:datascroller id="tableScroller" renderIfSinglePage="false" for="projectPlanCreatetable" pageIndexVar="pageNo"
         binding="#{ProjectPlanCreateControl.listAction.scroller}" >
         <a4j:support event="onpagechange" action="#{ProjectPlanCreateControl.pageChanged}" reRender="visitedPages"
                 oncomplete="markPages();"/>
</rich:datascroller>

<h:inputHidden id="visitedPages" value="#{ProjectPlanCreateControl.visited}" />

和javascript:

function markPages(){
      var pages = document.getElementById('mainFrm:projectPlanCreatetable:visitedPages').value;
      pagesArr = pages.split(",");

      for (var i=0; i<pagesArr.length-1; i++){
          jQuery('td.rich-datascr-inact').filter(function() {
              return jQuery(this).text() == pagesArr[i];
          }).css('color','red');
      }
}

java:

public String pageChanged(){
     HtmlDatascroller scroller = listAction.getScroller();           
     visited += scroller.getPage() + ",";
     return "";
}

1 个答案:

答案 0 :(得分:0)

好的,找到了。 我应该使用page属性来获取Controller中的页面,而不是绑定。