Sayfamda, bir pencerede açılan öğelerin listesini açan bir düğme var. Listede 1 öğe seçtiğimde, öğenin kimliğini ilk sayfamın arka planına geçirmek istiyorum. Mümkün mü? a4j:jsFunction
ve a4j:param
ile yapmaya çalıştı ancak işe yaramıyor.Parametre değeri a4j'ye nasıl geçilir: jsFunction
sayfa 1:
<a4j:jsFunction name="renderGuarantor" render="guarantor" actionListener="#{prospectDetail.setNewGuarantor}">
<a4j:param name="param1" assignTo="#{prospectDetail.newGuarantorId}" />
</a4j:jsFunction>
popuppage:
Bu
benim kodudur<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>
Ve bu ilk sayfa
için destek fasulye kodudurprivate Integer newGuarantorId;
public void setNewGuarantor() {
guarantor = newGuarantorId;
}
public Integer getNewGuarantorId() {
return newGuarantorId;
}
public void setNewGuarantorId(Integer newGuarantorId) {
this.newGuarantorId = newGuarantorId;
}
Açılır pencerede seçim yaparken, backingean'ımdaki yöntem çağrılır, ancak newGuarantorId
boştur ve setNewGuarantorId
hiçbir zaman çağrılmaz.
Sorunumun bir çözümü var mı?
<a4j:jsFunction name="renderGuarantor" render="guarantor"
actionListener="#{prospectDetail.setNewGuarantor(prospectDetail.newGuarantorId)}" />
Ve Yönetilen fasulye
, şöylesetNewGuarantor
yöntemi tanımlamak:
'da çalışmalıdır. Yeni pencerede # {Applic.deposit_id} 'null olmadığından emin misiniz? – Nikhil
evet, doğru kimlikle doldurulur. – roel
Hmm .. thats garip, hiçbir şey yanlış görünüyor ... Sorunuza bir cevap değil ama bu geçici çözümü deneyin - "guarantorId" değerini atamak yerine, param ' 'olarak tutun. ve 'actionListener' yönteminde bu 'param1' isteğinden 'String param1 = FacesContext.getCurrentInstance(). getExternalContext(). getRequestParameterMap(). get ("param1"); '. Ve sonra bu paramiti “int” olarak değiştirin ve daha fazlasını kullanın. Bu işe yaramalı. –
Nikhil