1
我最近開始研究JSF,並且偶然發現了以下兩種方法將實體包含到Controller Managed bean中。一個通過直接注入實體作爲ManagedBean
,另一個實體作爲非託管bean,簡單地作爲實例變量,初始化爲@PostConstruct
。JSF ManagedEntity的優勢vs UnManagedEntity
這種或那種方式的優點/缺點是什麼?第二種情況通常表現爲「正確的方式」,但似乎維護起來更爲複雜。
非管理的實體
@Entity
public class Book {
//...attributes
}
@ManagedBean
public class BookController {
private Book book;
@PostConstruct
public void init() {
book = new Book();
}
}
管理實體
@Entity
@ManagedBean
public class Book implements Serializable {
//...attributes
}
@ManagedBean
public class BookController {
@ManagedProperty(name="#{customer}")
private Book book;
}