2

如果选择了单选按钮,我正在尝试显示菜单。我为此目的使用了渲染属性。

模型:

private int type; // +getter+setter

看法:

<h:selectOneRadio value="#{bean.type}">
    <f:selectItem itemLabel="A" itemValue="1"/>
    <f:selectItem itemLabel="B" itemValue="2"/>
</h:selectOneRadio>
<h:form id="formMention" rendered="#{bean.type == 1}">
    <h:selectOneMenu ...>
        <f:selectItems ... />
    </h:selectOneMenu>
</h:form>

当我检查 A 时什么都没有显示。我怎样才能做到这一点?

4

1 回答 1

1

通常,您会为此使用 ajax,但由于您显然使用的是死的 JSF 1.x,它缺乏 ajax 的幻想,只要您不想引入支持 ajax 的组件库。其中一种方法是在单击单选按钮时直接提交表单。

<h:form>
    <h:selectOneRadio value="#{bean.type}" onclick="this.form.submit()">
        <f:selectItem itemLabel="A" itemValue="1"/>
        <f:selectItem itemLabel="B" itemValue="2"/>
    </h:selectOneRadio>
</h:form>
<h:form id="formMention">
    <h:selectOneMenu ... rendered="#{bean.type == 1}">
        <f:selectItems ... />
    </h:selectOneMenu>
</h:form>
于 2015-02-16T08:08:26.373 回答