【发布时间】:2017-11-12 14:49:10
【问题描述】:
我需要帮助来渲染一个组件,该组件在渲染后又会进行 ajax 调用,但没有成功。 我有以下代码不起作用。我不知道我是否遗漏了什么。非常感谢任何帮助。
<h:selectOneMenu id="gender" value="#{bean.gender}"
class="form-control"
valueChangeListener="#{bean.updateGenderValue}"
onchange="submit()">
<f:selectItems value="#{bean.genders}" var="gender" itemLabel="#
{gender}" itemValue="#{gender}"/>
</h:selectOneMenu>
<h:selectOneMenu value="#{bean.pregnancyStatus}"
class="form-control"
rendered="#{bean.gender eq 'Female'}">
<f:selectItems value="#{bean.options}"
var="pregnancyStatus" itemLabel="#{pregnancyStatus}"
itemValue="#{pregnancyStatus}"/>
<f:ajax listener="#{bean.updatePregancyValue}"
execute="@this" render="@this"/>
</h:selectOneMenu>
public void updateGenderValue(ValueChangeEvent event) throws IOException {
gender = (String) event.getNewValue();
}
public void updatePregancyValue(AjaxBehaviorEvent event) throws IOException {
System.out.println(":( == " + pregnancyStatus);
}
怀孕状态值根本不会更新。
【问题讨论】: