【问题标题】:selectOneMenu default selection nullselectOneMenu 默认选择 null
【发布时间】:2016-05-07 20:33:13
【问题描述】:

我有一个可编辑的数据表,其中包含布尔类型的列。编辑此列时,selectOneMenu 用于选择值“true”、“false”或“null”。当我进入编辑模式时,如果值为null,则默认选择为true。

如何解决这个问题?另一个问题是使用 Enity bean(数据库查询的结果)的好方法,还是我必须创建一个托管 bean?

Xhtml:

    <p:column headerText="Active">
        <p:cellEditor>
            <f:facet name="output">
                <h:outputText value="#{member.active}" />
            </f:facet>
            <f:facet name="input">
                <h:selectOneMenu value="#{member.active}" style="width:100%">
                    <f:selectItems value="#{memberManagementController.activeLabels}" />
                </h:selectOneMenu>
            </f:facet>
        </p:cellEditor>
    </p:column>

实体 Bean:

@Entity
@NamedQueries({
    @NamedQuery(...
})
@Table(name="Member")
public class Member implements Serializable {
    private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    private int id;

    private Boolean active;

    public Boolean getActive() {
        return this.active;
    }

    public void setActive(Boolean active) {
        this.active = active;
    }
    ...

【问题讨论】:

    标签: jsf jsf-2 primefaces


    【解决方案1】:

    把你的代码改成这个

    <h:selectOneMenu value="#{member.active}" style="width:100%">
        <f:selectItem noSelectionOption="true"/>
        <f:selectItems value="#{memberManagementController.activeLabels}" />
    </h:selectOneMenu>
    

    对于您的 bean,最好在您的视图控制器中使用托管 bean

    【讨论】:

    猜你喜欢
    • 2013-11-30
    • 1970-01-01
    • 2014-03-21
    • 1970-01-01
    • 1970-01-01
    • 2014-09-03
    • 2017-12-18
    • 2022-08-21
    • 2011-02-17
    相关资源
    最近更新 更多