JSF初始面显示对象列表,而不是字符串列表



我已经试着通过这个网站搜索,但也许我没有得到很好的理解。请对我的情况提出建议。

我使用Netbeans 7.3 + Primefaces + Hibernate。我想显示查询的一个列表。

我的查询已经在…没有错误显示,但显示不是我想要的(我认为它返回一个对象或其他东西,不确定)。

如果我遗漏了什么,请指正。

这是我的PtlLovBean

@ManagedBean(name = "ptlLovBean")
@SessionScoped
public class PtlLovBean implements Serializable {
private static final String FLIGHT = "LOV_FLIGHT";
private List lovFlight;
public List getLovFlight() {
    PtlLovDao ptlLovDao = new PtlLovDaoImpl();
    return ptlLovDao.getByKey(FLIGHT);
}    
}

这是ptlLovDao

public interface PtlLovDao {
public List getByKey(String key);
}

这是PtlLovDaoImpl

public class PtlLovDaoImpl implements PtlLovDao {
@Override
public List getByKey(String key) {
    Session session = HibernateUtil.getSessionFactory().openSession();
    Query query = session.createQuery("from PtlLov where LOV_KEY = :param");
    query.setParameter("param", key);                
    return query.list();
}
}
这是我的JSF:
<p:selectOneMenu id="flightName" value="#{wizard.user.selectedFlightName}"> 
   <f:selectItem itemLabel="Select Flight" itemValue="" />
   <f:selectItems value="#{ptlLovBean.lovFlight}" />
</p:selectOneMenu>

代码:

后显示

对不起,我不能插入图片,所以这里是图像链接:http://i117.photobucket.com/albums/o56/po_se_for/PIC_zps88ec4983.png

您可以在PtlLov类中重写toString方法,也可以在f:selectItems标记中定义itemValueitemLabel属性。

像这样:

<f:selectItems value="#{ptlLovBean.lovFlight}" var="flight"
    itemValue="#{flight}" itemLabel="#{flight.description}" />

相关内容

  • 没有找到相关文章

最新更新