我遇到轮询请求问题,第一次调用正常,第二次调用失去请求参数。以下是代码:
<h:form id="form">
<p:poll interval="10" listener="${emsstatbean.getEmsStat_list(request.getParameter('para'))}" update="emstatTable" />
<p:dataTable id="emstatTable" var="emsstat" value="${emsstatbean.getEmsStat_list(request.getParameter('para'))}" emptyMessage="No statistic found with given criteria" styleClass="table table-striped table-bordered table-hover" >
<p:column headerText="Server Hostname" >
<h:outputText value="#{emsstat.id.timeStamp}" />
</p:column>
<p:column headerText="Os name" >
<h:outputText value="#{emsstat.upTime}" />
</p:column>
<p:column headerText="Os name" >
<h:outputText value="${emsstat.state}" />
</p:column>
</p:dataTable>
</h:form>
这是bean类:
@ManagedBean(name = "emsstatbean")
public class EmsStatBean implements Serializable
{
public List<TibcoEmsStat> getEmsStat_list(int p)
{
return service.listEmsStats(p);
}
@ManagedProperty("#{emsStatService}")
EmsStatService service;
@PostConstruct
public void init()
{
}
public void setService(EmsStatService service)
{
this.service = service;
}
}
这是名为content/public/TibcoEmsStat.xhtml?para=254
的网址
因此,当我将其粘贴到浏览器上时,我会获得包含所有行的数据表,但是当我等待10秒时,我看不到内容,而且我得到了#34;没有统计数据&#34;在给定条件下找到,因为参数为空。
你能帮我理解问题所在吗?
答案 0 :(得分:0)
这是我在审核一些建议的链接后修复的方法
添加到bean:
@ViewScoped
和一个存储id的变量
public int ems_inst;
public int getEms_inst() {
return ems_inst;
}
public void setEms_inst(int ems_inst) {
this.ems_inst = ems_inst;
}
在我做的xhtml上:
<f:metadata>
<f:viewParam name="ems_inst" value="#{emsstatbean.ems_inst}" />
</f:metadata>
<h:form id="form">
<p:poll interval="10"
listener="${emsstatbean.getEmsStat_list(emsstatbean.ems_inst)}" update="emstatTable" />
<p:dataTable id="emstatTable" var="emsstat" value="${emsstatbean.getEmsStat_list(emsstatbean.ems_inst)}"
现在一切正常
感谢