2011-03-02 28 views
5

Tôi đang cố gắng để có được một tiêm ManagedProperty làm việc, nơi đậu tiêm nằm trong một cái lọ bao gồm trong ứng dụng web của tôi.JSF 2 Quản lý phân phối chất lỏng từ hạt phụ thuộc

Bean được tiêm:

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

Nhận đậu:

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

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

Tuy nhiên, điều này không làm việc và tôi chỉ nhận được thông báo "Không thể đặt thông điệp bất động sản cho bean được quản lý ". Nếu tôi đặt lớp Messages trong cùng một gói với bean nhận thay vì có nó trong jar riêng của nó, nó hoạt động tốt.

Trả lời

9

JAR phải chứa tệp JS232 2.0 tuân thủ /META-INF/faces-config.xml để kích hoạt quét chú thích JSF 2.0 trong tệp 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

Điều đó đã xảy ra. Cảm ơn. – Robert

Các vấn đề liên quan