0
我面臨輪詢請求的問題,第一個呼叫是好的,第二個是丟失請求參數。下面是代碼:在jsf中丟失第二個Ajax輪詢呼叫的請求參數
<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秒時,我看不到內容,並且在給定條件下找到「無統計數據」,因爲參數爲空。
你能幫我理解問題出在哪裏嗎?
的可能的複製[JSF形式保留GET請求的查詢字符串參數提交(https://stackoverflow.com/questions/17734230/retaining-get-request-query -string-parameters-on-jsf-form-submit) – Kukeltje
它很可能已經在第一次ajax調用中失去它了。你真正適合的調用不是ajax調用,而是一個普通的GET – Kukeltje
@Kukeltje我明白了,但我需要刷新一個對象而不做GET,我該如何實現,所以在這種情況下,我可以保存para值是一些變量。謝謝您的幫助 –