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,并添加