4

JSF の selectManyCheckbox と A4J のサポートに問題があります。目的は、チェックボックスが選択されたときに何らかのアクションを実行することです。これは Firefox で完全に機能します。それでも、任意の IE (ie6 / ie7 / ie8) でテストすると、アクションが呼び出されているが、選択された値が null に設定されていることがわかりました。テストするために、フォームを送信し、選択された値が正しいかどうかを確認するために、JSF commandButton を配置しました。したがって、問題は実際には ajax アクションにあります (フォームを送信せずに)。これが私のコードです:

        <h:selectManyCheckbox id="supportCategoryCardFilter" value="#{cardListProvider.categoriesHolder.selectedCategories}"  layout="pageDirection" required="false" >
            <f:selectItems value="#{cardListProvider.categoriesList}" />
            <a:support ajaxSingle="true" status="statusSearchCard" id="supportCategoryCardFilter2" event="onclick" reRender="cardsHolder, renderCardsCategoriesPanel" 
                 action="#{cardListProvider.findCards(cardListProvider.categoriesHolder.selectedCategories)}"  >
            </a:support>
        </h:selectManyCheckbox>

はどこにcardListProvider.categoriesListありList<SelectItem>cardListProvider.categoriesHolder.selectedCategoriesList<String>

誰かがこの問題を抱えていますか?誰でもこれで私を助けることができますか?ありがとうございました

4

2 に答える 2

4

JBoss EL を使用するか、JSF 関数を宣言する必要があります。facelets を使用している場合、これは次のように簡単です。

  • public static好みのクラスでメソッドを宣言する
  • my.taglib.xml (facelets 記述子) に次を追加します。
  • <function>
        <function-name>concat</function-name>
        <function-class>com.mycompany.myproject.ServiceFunctions</function-class>
        <function-signature>java.lang.String concat(java.lang.String, java.lang.String)   </function-signature>
    </function>
    

  • また、イベントを「onclick」ではなく「onselect」(または「onchange」)に設定してみてください。
  • immediate="true" を設定してみてください
  • メソッド パラメータを削除してみてください - マネージド Bean のプロパティを介してアクセスできるため、必要ありません - つまりaction="#{cardListProvider.findCards}"findCards()getでthis.cardListProvider.categoriesHolder.selectedCategories
  • richfaces 3.3.2.SR1 にアップグレードしてみてください
  • 于 2009-11-17T07:12:41.423 に答える
    1

    これがFirefoxでも機能することに驚いています。アクション メソッドはパラメーターをサポートしていません。Richfaces ドキュメントから:

    signature must match java.lang.Object action()

    http://livedemo.exadel.com/richfaces-demo/richfaces/support.jsf?tab=info&cid=1615759

    于 2009-11-16T23:12:03.283 に答える