gpt4 book ai didi

JSF a4j :support with h:selectManyCheckbox

转载 作者:行者123 更新时间:2023-12-04 01:27:17 25 4
gpt4 key购买 nike

我在 JSF selectManyCheckbox 和 A4J 支持方面遇到了问题。目的是在选中复选框时运行某些操作。这在 Firefox 中完美运行。然而,在任何 IE (ie6/ie7/ie8) 中进行测试时,发现正在调用操作但所选值被设置为 null。为了测试它,我放置了一个 JSF commandButton 来提交表单并检查所选的值是否正确。所以问题真的出在ajax Action 上(没有提交表单)。
这是我的代码:

        <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.categoriesListList<SelectItem>cardListProvider.categoriesHolder.selectedCategoriesList<String>
有没有人遇到过这个问题?谁能帮我这个?
谢谢

最佳答案

您应该使用 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>
  • 另外,尝试将事件设置为“onselect”(或“onchange”)而不是“onclick”
  • 尝试设置立即=“真”
  • 尝试删除方法参数 - 您不需要它,因为您可以通过托管 bean 的属性访问它 - 即 action="#{cardListProvider.findCards}"然后在 findCards()获取 this.cardListProvider.categoriesHolder.selectedCategories
  • 尝试升级到 Richfaces 3.3.2.SR1
  • 关于JSF a4j :support with h:selectManyCheckbox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1743690/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com