2011-09-22 23 views
8

Sử dụng JBoss 6.0.0.Final, Richfaces 3.3.3.Final, MyFaces 2.0.6, facelets 1.1.15.B1 (giới hạn của RF 3).Cách kết hợp chú thích với faces-config.xml

Tôi đang sử dụng dự án kế thừa có chứa hàng trăm hạt được xác định trong faces-config.xml. Tôi muốn giữ những cái được định nghĩa trong faces-config.xml nhưng sử dụng chú thích cho các bean mới. Tuy nhiên, khi tôi đã thử điều này tôi đã không thành công. Các hạt được xác định bằng chú thích tức là

@ManagedBean 
@ViewScoped 
public class Foobar implements Serializable { 
    // ... 
} 

Không thể truy cập bean từ trang JSF của tôi. Tôi tin rằng tôi đã chỉ định phiên bản 2.0 trong faces-config.xml của mình bằng cách sử dụng tiêu đề phù hợp.

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

Có điều gì khác tôi cần làm trong số faces-config.xml để cho phép chú thích cũng được sử dụng không?

Trả lời

9

đậu chú thích sẽ thất bại trong các trường hợp sau:

  1. /WEB-INF/faces-config.xml không được khai báo để phù hợp với JSF 2.0.

  2. @ManagedBean là của javax.annotation gói thay vì javax.faces.bean.

  3. Lớp bean chưa được biên soạn/tích hợp vào WAR /WEB-INF/classes.

  4. Đậu được đóng gói trong tệp JAR bị thiếu /META-INF/faces-config.xml.

  5. Một tên bean được quản lý sai đang được sử dụng trong EL, nó phải là tên lớp bean có lớp thấp hơn ký tự 1 theo đặc tả Javabeans. Vì vậy, trong ví dụ cụ thể của bạn, #{fooBar} sẽ hoạt động, nhưng #{FooBar} sẽ không hoạt động.

  6. Webapp là thực sự bằng JSF 1.x libs (bạn có thể đọc phiên bản JSF trong nhật ký khởi động máy chủ).

+1

Xin lỗi, tôi nên xác định rằng tôi không cố gắng sử dụng cả chú thích và cấu hình faces-config.xml cho cùng một bean. Tôi muốn thêm đậu mới mà không phải di chuyển đậu cũ bằng cách sử dụng faces-config.xml – user959690

+0

Tôi đã cập nhật câu trả lời. – BalusC

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