有谁知道如何在.jsf页面中显示简化的推文。我希望在我的页面上显示用户状态。我创建了名为Tweet的支持bean:
@Named(value = "tweet")
@Dependent
public class Tweet {
private String user;
private String status;
private String date;
然后在TweetBean中设置数据:
@Named(value = "tweetBean")
@Dependent
public class TweetBean {
...
public void open() {
StatusListener listener = new StatusListener() {
@Override
public void onStatus(Status status) {
Tweet tweet = new Tweet();
tweet.setUser("@" + status.getUser().getName());
tweet.setStatust(status.getText());
tweet.setDate(String.valueOf(created.format(status.getCreatedAt())));
}
我正在使用名为tweets.xhtml的facelet,但新播放的推文将不会显示。为什么?我应该使用f:ajax render =“@ form”还是别的什么?
<h:body>
<h:form >
<div>
User: #{tweet.user}<br/>
Status: #{tweet.status} <br/>
Date: #{tweet.date} <br/>
</div>
</h:form>
</h:body>
答案 0 :(得分:0)
我找到了使用PrimeFaces p:poll组件的解决方案,如下所示:
<h:form id="form">
<p:dataTable id="statuses"
value="#{tweetBean.statusesLinkedList}"
var="st"
sortMode="multiple"
rows="5"
paginator="true" >
<p:column headerText="Message:">
<h:outputText value="#{st.status}"/>
</p:column>
<p:column headerText="Date:" sortBy="#{st.date}">
<h:outputText value="#{st.date}"/>
</p:column>
<p:column headerText="User:">
<h:outputText value="#{st.user}"/>
</p:column>
</p:dataTable>
<p:commandButton type="submit" value="Stop"
actionListener="#{tweetBean.close()}"
ajax="false" action="index?facesredirect=true">
</p:commandButton>
<p:poll interval="3" update="statuses" />