繁体   English   中英

如何在用户界面上显示(Primefaces)Java列表<Object>

[英]How to show on the user interface (Primefaces) java List<Object>

我有一个Hibernate查询,它返回列表给我,我想在Primeface的用户界面上显示列表中的不同元素。 如何实现呢? 提前致谢!

这是我的方法:

public List<Object> showMessages(TRequest requestVar, Long agencyId) {
        if (!em.getTransaction().isActive())
            em.getTransaction().begin();
        Query queryMessages = em
                .createQuery("select user.name, msg.messageBody, msg.dateSent "
                        + "from TUser user join user.sentMessages msg "
                        + "where user.id in (:userId, :agencyId) "
                        + "and msg.messageGroup = :messageGroup "
                        + "order by msg.dateSent asc");

        queryMessages.setParameter("userId",
                Long.valueOf(requestVar.getAuthor().getId()));
        queryMessages.setParameter("agencyId", agencyId);
        queryMessages.setParameter("messageGroup", messageGroup);

        List<Object> messages = queryMessages.getResultList();
        return messages;
    }

我找到了解决方案:

<c:forEach
                            items="#{userRequestBean.showMessages(userRequestBean.request, agency[1])}"
                            var="message">

                            <h:outputText value="#{message[1]}"
                                style="width: 100px; white-space: normal; border: 3px" />
                    </c:forEach>

您可以使用数据表

 `<p:dataTable var="data" value=" {userRequestBean.showMessages(userRequestBean.requestVar,userRequestBean.agent)}">
  <p:columns>
  <f:facet name="header">
  User Name
 </f:facet>
  #{data.name}
  </p:columns>
  <p:columns>
  <f:facet name="header">
  Message
  </f:facet>
  #{data.messageBody}
  </p:columns>
  <p:columns>
  <f:facet name="header">
  Date Sent
  </f:facet>
  #{data.dateSent}
   </p:columns>
  </p:dataTable>`

否则使用UI重复

`<ui:repeat var="data" value="#  {userRequestBean.showMessages(userRequestBean.requestVar,userRequestBean.agent)}"     varStatus="status">
<tr>
    <td>#{data.name}</td>
    <td>#{data.messageBody}</td>
    <td>#{data.dateSent}</td>
 </tr>
</ui:repeat>`

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM