加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ajax – primefaces p:selectBooleanButton监听器未在嵌套的ui

发布时间:2020-12-16 02:56:40 所属栏目:百科 来源:网络整理
导读:在父ui:repeat中为p:selectBooleanButton触发侦听器,但不为内部/子ui:repeat触发p:selectBooleanButton的侦听器. 我们不能使用嵌套表单.有什么建议. h:form prependId="false" ui:repeat value="#{xBean.sectionsList}" var="sectionItem" p:fieldset p:
在父ui:repeat中为p:selectBooleanButton触发侦听器,但不为内部/子ui:repeat触发p:selectBooleanButton的侦听器.

我们不能使用嵌套表单.有什么建议.

<h:form prependId="false">
 <ui:repeat value="#{xBean.sectionsList}" var="sectionItem">
  <p:fieldset>
   <p:selectBooleanButton onLabel="ON" offLabel="OFF" value="#{sectionItem.checked}">
    <p:ajax listener="#{xBean.selectSection}"/>
   </p:selectBooleanButton> :
   <ui:repeat value="#{sectionItem.sectionOptionsList}" var="sectionOptionItem">            
    <p:selectBooleanButton onLabel="ON" offLabel="OFF" value="#{sectionOptionItem.checked}">
     <p:ajax listener="#{xBean.selectSectionOption}"/>
    </p:selectBooleanButton>
    </ui:repeat>
   </p:fieldset>
 </ui:repeat>
</h:form>

解决方法

< ui:重复>是一个视图渲染时间标记.因此,它实际存在于JSF组件树中,并且需要多次迭代该值来生成其HTML输出.

换句话说,它们(p:selectBooleanButton)需要在视图构建时而不是视图渲染时准备.

JSTL< c:forEach>是一个视图构建时间标记.它将在JSF组件树中生成物理上的多个组件.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读