【问题标题】:Trying to create a p:selectOneMenu and entities from a database [duplicate]尝试从数据库中创建 p:selectOneMenu 和实体 [重复]
【发布时间】:2015-02-18 18:40:46
【问题描述】:

我设法从数据库中检索到我需要的所有信息,但是当我使用 <f:selectItems value=""> 将其放入 <p:selectOneMenu> 时,我得到一个空的 <p:selectOneMenu>。

这是我的代码的 sn-p :

我的 xhtml 文件:

<p:panelGrid columns="2">
    <h:outputLabel for="usernames" value="usernames "/>

    <p:selectOneMenu id="usernames" value="#{Jcalendar.THE_CHOSEN_ONE}">
        <f:selectItems value="Jcalendar.user_spinner_list"/>
    </p:selectOneMenu>
</p:panelGrid>

我的 JcalendarBeans.java 文件

@ManagedBean(name = "Jcalendar")
@SessionScoped
public class JcalendarBeans implements Serializable {

    private static final long serialVersionUID = 1L;
    String THE_CHOSEN_ONE;

    public String getTHE_CHOSEN_ONE() {
        return THE_CHOSEN_ONE;
    }

    public void setTHE_CHOSEN_ONE(String tHE_CHOSEN_ONE) {
        THE_CHOSEN_ONE = tHE_CHOSEN_ONE;
    }

    List<JcalendarController> user_spinner_list = new ArrayList<JcalendarController>();

    @PostConstruct
    public void start() {
        user_spinner_list = JcalendarDAO.AllUsarname_spinner();
    }
}

任何帮助都会被占用

【问题讨论】:

    标签: jsf jsf-2 primefaces selectonemenu


    【解决方案1】:

    确保在您的 xhtml 文件中添加“()”:

     <f:selectItems value="Jcalendar.user_spinner_list()"/>
    

    【讨论】:

    • 我现在得到了值,但我不知道如何转换为字符串?
    • 这似乎不是一个答案。如果该列表包含复合/复杂对象,则需要明确告诉 JSF 将特定属性用作 itemLabel 并将另一个属性用作 itemValue 或者您需要使用 java.util.Map&lt;key, value&gt;(或 TreeMap、@987654326 @ 取决于要求)其中键被推断为选项的标签,值被推断为选项的值(在生成的&lt;select&gt; HTML 标记中)-&lt;f:selectItems value="#{bean.map}"/&gt;。 (这又需要一个转换器来将这些对象转换为字符串)。
    • 嗯......这就是我所做的!
    • 然后是公共静态列表 AllUsarname_spinner() { }
    猜你喜欢
    • 2015-03-28
    • 2014-12-30
    • 1970-01-01
    • 1970-01-01
    • 2016-03-01
    • 2011-01-22
    • 1970-01-01
    • 1970-01-01
    • 2022-01-10
    相关资源
    最近更新 更多