gpt4 book ai didi

jsf - setPropertyActionListener 与 h :selectOneMenu

转载 作者:行者123 更新时间:2023-12-03 03:35:15 24 4
gpt4 key购买 nike

我使用的数据表有两列,其中有一个标签和一个 selectOneMenu。

我需要动态显示 selectOneMenu 列表,为此我需要在 bean 中设置级别 id。在 commandbutton/commandLink 中,我们可以选择借助 f:setPropertyActionListener 设置值。我只是想知道如何在使用 selectonemenu 时设置该值。任何帮助将不胜感激。

    <p:dataTable style="width:750px;" id="inResultTable" var="result"
value="#{RequestBean.independentFields}">
<p:column>
<f:facet name="header">
<h:outputText value=" " />
</f:facet>
<h:outputText value="#{result.field_label}" />
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="" />
</f:facet>
<ui:repeat value="#{RequestBean.independentFields}" var="itm">
<h:selectOneMenu value="#{RequestBean.field1Value}"
rendered="#{result.level_id==itm.level_id}">
<f:selectItems value="#{RequestBean.indField}" />
</h:selectOneMenu>
<f:setPropertyActionListener target="#{RequestBean.level_id}"
value="#{itm.level_id}"></f:setPropertyActionListener>
</ui:repeat>
</p:column>
</p:dataTable>

最佳答案

您可以使用更改ajax事件。

当 selectOneMenu 中的某些项目发生更改时,ajax 会调用 Bean 中的某些方法。

像这样:

<h:selectOneMenu value="#{RequestBean.field1Value}"
rendered="#{result.level_id==itm.level_id}">
<f:selectItems value="#{RequestBean.indField}" />
<f:ajax event="change" listener="#{yourBean.yourMethodToChangeSomeValue}" />
</h:selectOneMenu>

并且在您的方法中,您可以使用 fieldValue 的值或将参数传递给 xhtml 中的另一个 Bean 方法。

关于jsf - setPropertyActionListener 与 h :selectOneMenu,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14874721/

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