无法将请求作用域bean注入会话作用域bean的托管属性

时间:2012-11-29 21:24:05

标签: jsf jsf-2

在尝试进行多次bean注入时,我遇到了JSF 2的问题 我收到此错误:

GRAVE: JSF ne pourra pas créé le bean géré contact_ lorsqu'il sera demandé.  
Les problèmes suivants ont été détectés :
 - Erreur inattendue lors du traitement du bean géré organisme_
 29 nov. 2012 20:56:23 com.sun.faces.application.view.FaceletViewHandlingStrategy handleRenderException
GRAVE: Error Rendering View[/index.xhtml]
com.sun.faces.mgbean.ManagedBeanCreationException: Impossible de créer le bean géré contact_.  Les problèmes suivants ont été détectés :
 - Erreur inattendue lors du traitement du bean géré organisme_

这里是bean代码:

@ManagedBean (name="organisme_")    
@SessionScoped    
public class Organisme_  implements java.io.Serializable  {    
private static final long serialVersionUID = 4579411552477526993L;    
    private int idOrganisme;    
    @ManagedProperty(value="#{adresse_}")    
    private Adresse_ adresses_organisme;    
private String nomOrganisme;    
     private String telephone;    
     private String fax;    
     private Integer effectif;    
     private String message;    
     private String web;    
//getter and setter    

并且

@ManagedBean(name="contact_")    
@RequestScoped    
public class Contact_  implements java.io.Serializable {    
private static final long serialVersionUID = 493917875769565440L;    
    private int idContact;    
     @ManagedProperty(value="#{organisme_}")    
     private Organisme_ organisme;    
 @ManagedProperty(value="#{adresse_}")    
     private Adresse_ adresses;    
     private String nomContact;    
     private String prenomContact;    
     private String email;    
     private String password;    
//getter and setter    
public String Connexion() {return "success";
}

@ManagedBean(name="adresse_")    
@RequestScoped    
public class Adresse_  implements java.io.Serializable {    
private int idAdresse;    
    private String pays;    
//getter and setter    

索引页面包含:

commandLink action="#{contact_.Connexion()}"  style=" cursor: pointer; text-decoration: none;" </blink>

1 个答案:

答案 0 :(得分:5)

addresse_是一个RequestScoped bean。你不能在RequestScoped bean中注入一个SessionScoped bean(你将有很多请求及其相关bean,只有一个会话及其bean,注入一个特定的{{{}实例是没有意义的。 1}}忽略所有其他人。)