2

load()メソッドLazyDataModelが呼び出され、成功して終了します。はdataTableレンダリングされますが、唯一の問題は、ページ全体がブロックされていることです。JavaScript を実行するボタンを除いて、ボタンは応答しません。

AjaxStatus は何かがロードされていることを示していますが、ロードするものは何もありませんが、Ajax には何かがあると思います。

Mojarra 2.1.6でPrimeFaces 3.4.2を使用しています

ここに私の.xhtmlがあります.options.xhtmlにはもう1つのh:formが宣言されています

<ui:include src="options.xhtml" />
      <h:form id="display">
         ...
         <p:dataTable id="resultsTable" value="#{index.lazyModel}"
            var="searchResult" rows="10" paginator="true" emptyMessage=""
            paginatorPosition="bottom" lazy="true"
            rendered="#{empty index.lazyModel ? false : true}">
            <p:column>
               <h:panelGrid columns="1">
                  <h:panelGrid columns="2">
                     <h:outputLink value="#{searchResult.url}">
                        <h:outputText value="#{searchResult.title}" />
                     </h:outputLink>
                     <h:outputText value="#{searchResult.category}" />
                  </h:panelGrid>
                  <h:outputText value="#{searchResult.kwic}" />
               </h:panelGrid>
            </p:column>
         </p:dataTable>
         <p:graphicImage value="/resources/welcome.gif"
            rendered="#{empty index.lazyModel}" styleClass="welcome" />
      </h:form>

LazyDataModel の load メソッド:

@Override
   public List<Result> load(int first, int pageSize, String sortField,
         SortOrder sortOrder, Map<String, String> filters) {

      // rowCount
      int dataSize = searchResults.size();
      this.setRowCount(dataSize);

      List<Result> temp = null;
      // paginate
      if (dataSize > pageSize) {
         try {
            temp = searchResults.subList(first, first + pageSize);
         } catch (IndexOutOfBoundsException e) {
            temp = searchResults.subList(first, first
                  + (dataSize % pageSize));
         }
      } else {
         temp = searchResults;
      }

      return searchHandler.classify(temp);
   }

アイデアや提案は大歓迎です。

前もって感謝します。

4

1 に答える 1

0

h:form を PrimeFaces のフォームに変更すると役に立ちませんか? ただのアイデア...

于 2013-06-19T08:51:35.330 に答える