微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何传递参数以获取 p:selectOneMenu 内 f:selectItem 的值

如何解决如何传递参数以获取 p:selectOneMenu 内 f:selectItem 的值

我想传递一个参数来获取 p:selectOneMenu 中 f:selectItem 的值。 (我在 ui:repeat 中使用了这个 p:selectOneMenu)

需要根据传递给 bean 的参数更改填充 select one 菜单的值。

我尝试如下,但错误是“该类没有属性 'proceduresPerformedInAProcedureRoom'。

我怎样才能做到这一点?

JSF 文件

<table >
    <tr>
        <td>
            <p:outputLabel value="Room" ></p:outputLabel>
        </td>
        <td>
            <p:selectOneMenu value="#{ii.ci.institutionValue}" >
                <f:selectItem itemLabel="Please select" ></f:selectItem>
                <f:selectItems value="#{webusercontroller.loggableProcedureRooms}"
                               var="ipr"
                               itemLabel="#{ipr.name}"
                               itemValue="#{ipr}">
                </f:selectItems>
                <f:ajax event="change" execute="@this" render="prM lblPrM" ></f:ajax>
            </p:selectOneMenu>
        </td>
    </tr>
    <tr>
        <td>
            <p:outputLabel id="lblPrM" value="Procedures for #{ii.ci.institutionValue}" ></p:outputLabel>
        </td>
        <td>
            <p:selectOneMenu id="prM" value="#{ii.addingItem.ci.itemValue}" >
                <f:selectItem itemLabel="Please select" ></f:selectItem>
                <f:selectItems value="#{relationshipController.proceduresPerformedInAProcedureRoom}" 
                               var="li"
                               itemLabel="#{li.displayName}" 
                               itemValue="#{li}">
                    <f:param name = "procedureRoom" value = "#{ii.ci.institutionValue}" />
                </f:selectItems>
            </p:selectOneMenu>
        </td>
    </tr>
</table>

控制器

public List<Item> proceduresPerformedInAProcedureRoom(Institution procedureRoom){
    List<Relationship> rs = findRelationships(institution,RelationshipType.Procedure_for_institution);
    List<Item> ps = new ArrayList();
    for(Relationship r:rs){
        ps.add(r.getItem());
    }
    return ps;
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。