0
我想將第一個屬性managedabean「refCont」的選定值存儲在託管bean的第二個屬性中,然後我將發佈。但值會顯示第二次選擇後知道顯示的值是第一次選擇的值。我不知道什麼緣故@ManagedProperty初始化
.xhtml
<h:outputText value="* Contact" />
<h:selectOneMenu id="contact" value="#{reclamationMB.refCont}" onchange="lazyload()">
<c:set value="#{reclamationMB.refCont}" target="#{contactMB}" property="refContt" />
<f:ajax listener="#{contactMB.affichReclContact}" />
<f:selectItem itemLabel="Select One" noSelectionOption="true" itemValue="---" />
<f:selectItems value="#{contactMB.contactsClient}" noSelectionValue="" var="contact" itemValue="#{contact.refCont}" itemLabel="#{contact.nomCont}" />
<f:selectItems itemLabel="Autre" itemValue=""></f:selectItems>
</h:selectOneMenu>
第一ManagedBean:
@RequestScoped
public class ReclamationMB extends AbstractMB implements Serializable {
private int refCont;//ref contact recuperé pour la creation de la reclamation
.....
//getter and setter
二Mnaged豆
@RequestScoped
public class ContactMB extends AbstractMB implements Serializable {
@ManagedProperty("#{reclamationMB.refCont}")
private int refContt;
.....
//getter an setter
public void affichReclContact(AjaxBehaviorEvent event){
contact=service.AffichContact(refContt);
setContact(contact);
}
感謝您的解釋,但我不能做第一個,因爲我已經使用了<
這個,我想我不能調用兩個' p:remoteCommand>'在同一個onchange。 第二:我有一個錯誤,當我使用「bean注入」時沒有找到'property =「reclamationMB.refCont」'' ' ' –
ftning
2013-05-05 22:15:51
Firast可以調用多個遠程函數,但這不是必需的,可能太昂貴了。不過,您可以將''添加/嵌套到'
'*。至於第二個,''只運行一次,所以你*不能用它來解決你的問題。相反,*注入整個bean *來完成這項工作:'@ManagedProperty(「#{reclamationMB}」)private ReclamationMB reclamationMB;'用getters/setters,不需要其他任何東西,以防注入bean初始化*只是準時*。 –
skuntsel
2013-05-06 04:54:33
不錯,它的工作,但在第二選擇。我注入整個bean,並添加