2011-03-02 5 views
5

Я пытаюсь получить инъекцию ManagedProperty, где инжекционный компонент находится в банке, включенной в мое веб-приложение.JSF 2 ManagedProperty инъекция бобов из бана зависимости

Bean для инъекций:

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

Прием боб:

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

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

Однако, это не работает, и я просто получаю сообщение «Не удается установить сообщения свойств для управляемого компонента ». Если я помещаю класс Message в тот же пакет, что и принимающий bean-компонент, вместо того, чтобы иметь его в собственной банке, он работает отлично.

ответ

9

JAR должен содержать JSF 2.0-совместимый файл /META-INF/faces-config.xml, чтобы запускать аннотации JSF 2.0 в файлах JAR.

<?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

Смежные вопросы