在我的頁面上,我有一個按鈕,用於打開彈出窗口中的項目列表。當我在列表中選擇1個項目時,我想將項目的ID傳遞給我的第一頁的backingbean。可能嗎?它試圖用a4j:jsFunction
和a4j:param
這樣做,但它不起作用。如何將參數值傳遞給a4j:jsFunction
這是我的代碼:
第1頁:
<a4j:jsFunction name="renderGuarantor" render="guarantor" actionListener="#{prospectDetail.setNewGuarantor}">
<a4j:param name="param1" assignTo="#{prospectDetail.newGuarantorId}" />
</a4j:jsFunction>
popuppage:
<h:outputLink value="" onclick="window.opener.renderGuarantor(#{applicant.deposit_id});window.close();">
<h:graphicImage style="padding:0 1px; border:0" value="${path.staticRootUrl}images/confirm.gif" alt="${msg.applicantslist_select}" title="${msg.applicantslist_select}"/>
</h:outputLink>
這是第一頁
支持bean代碼private Integer newGuarantorId;
public void setNewGuarantor() {
guarantor = newGuarantorId;
}
public Integer getNewGuarantorId() {
return newGuarantorId;
}
public void setNewGuarantorId(Integer newGuarantorId) {
this.newGuarantorId = newGuarantorId;
}
在彈出窗口中選擇時,我的backingbean中的方法被調用,但newGuarantorId
爲空,並且從不調用setNewGuarantorId
。
有沒有解決我的問題?
你確定'#{applicant.deposit_id}'在新窗口中不爲空嗎? – Nikhil 2012-01-02 17:44:50
是的,它填寫了正確的ID。 – roel 2012-01-03 08:41:21
嗯..多數民衆贊成在奇怪的,沒有看起來錯了..不是你的問題的答案,但嘗試這種解決方法 - 而不是將值分配給'guarantorId',保持參數爲''並在'actionListener'方法中從請求中獲取這個'param1'作爲'String param1 = FacesContext.getCurrentInstance()。getExternalContext()。getRequestParameterMap()。get(「param1」);'。然後將此參數轉換爲「int」並進一步利用它。這應該工作。 –
Nikhil
2012-01-03 11:38:42