Trên trang của tôi, tôi có một nút mở danh sách các mục trong cửa sổ bật lên. Khi tôi chọn 1 mục trong danh sách, tôi muốn chuyển id của mục đó đến phần sao lưu của trang đầu tiên của tôi. Có thể không? Nó đã cố gắng để làm điều đó với a4j:jsFunction
và a4j:param
nhưng nó không hoạt động.Cách chuyển giá trị tham số đến a4j: jsFunction
Đây là mã của tôi:
trang 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>
Và đây là mã đậu ủng hộ cho trang đầu tiên
private Integer newGuarantorId;
public void setNewGuarantor() {
guarantor = newGuarantorId;
}
public Integer getNewGuarantorId() {
return newGuarantorId;
}
public void setNewGuarantorId(Integer newGuarantorId) {
this.newGuarantorId = newGuarantorId;
}
Khi chọn trong cửa sổ bật lên, phương thức trong sao lưu của tôi được gọi, nhưng newGuarantorId
là không và setNewGuarantorId
không bao giờ được gọi.
Có giải pháp cho vấn đề của tôi không?
Bạn có chắc chắn '# {applicant.deposit_id}' không phải là rỗng trong cửa sổ mới không? – Nikhil
có nó được điền bằng id chính xác. – roel
Hmm .. thats lạ, không có gì có vẻ sai..Không phải là câu trả lời cho câu hỏi của bạn nhưng hãy thử cách này - thay vì gán giá trị cho 'guarantorId', giữ tham số là' ' và trong phương thức 'actionListener' lấy tham số' param1' này từ yêu cầu là 'String param1 = FacesContext.getCurrentInstance(). getExternalContext(). getRequestParameterMap(). get (" param1 ");'. Và sau đó chuyển đổi param này thành 'int' và sử dụng nó thêm. Cần làm việc. –
Nikhil