2011-03-02 72 views
5

我想要獲得一個ManagedProperty注入工作,其中注入的bean駐留在我的web應用程序中包含的jar中。JSF 2 ManagedProperty從依賴關係jar注入bean

豆將被注入:

@ManagedBean(name="messages") 
@SessionScoped 
public class Messages implements Serializable 
{ 

接收豆:

@ManagedProperty(value="#{messages}") 
private Messages messages; 

public void setMessages(Messages messages) 
{ 
    this.messages = messages; 
} 

然而,這並不工作,我只是得到消息「無法爲託管bean設置屬性信息」。 如果我將Messages類與接收Bean放在同一個包中,而不是將它放在它自己的jar中,它就可以正常工作。

回答

9

JAR必須包含符合JSF 2.0的/META-INF/faces-config.xml文件才能在JAR文件中觸發JSF 2.0註釋掃描。

<?xml version="1.0" encoding="UTF-8"?> 
<faces-config 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd" 
    version="2.0"> 
</faces-config> 
+0

這樣做。謝謝。 – Robert