[英]JSF 2.0 Problem (faces-config)
在JSF 1.0中,我們有faces-config.xml
,其中輸入了有關托管bean,依賴項和導航等信息。
我正在使用JSF 2.0開發一個示例項目。 但是,由於我不知道注釋,因此需要在外部包含face-config.xml
。 請為它提供解決方案,因為在JSF 2.0中,我們不需要包含它。 背后的原因是什么? 我們如何將一個bean設置為managed-bean。 什么是注解? 如何使用?
(...)在JSF 2.0中,我們不需要包含它。 背后的原因是什么?
用三個詞來說:易於發展。 編寫的代碼更少了-刪除了樣板代碼,在可能的情況下使用默認值,並使用注釋來減少對部署描述符的需求。
我們如何將一個bean設置為managed-bean。 什么是注解? 如何使用?
使用@ManagedBean
批注標識托管bean。 豆的范圍也使用注釋(指定@RequestScoped
, @SessionScoped
, @ApplicationScoped
等)。
因此,JSF 1.0中的以下內容:
<managed-bean>
<managed-bean-name>foo</managed-bean-name>
<managed-bean-class>com.foo.Foo</managed-bean-class>
<managed-bean-scope>session</managed-bean>
</managed-bean>
可以在JSF 2.0中這樣重寫:
@ManagedBean
@SessionScoped
public class Foo {
//...
}
並在Facelet頁面中這樣引用:
<h:inputText label="eMailID" id="emailId"
value="#{foo.email}" size="20" required="true"/>
(默認情況下,托管bean的名稱將是帶注釋的類的名稱,該類的首字母小寫。)
您可以與在JSF 1.x中完全一樣地在JSF2中使用faces-config.xml。 實際上,盡管通常可以使用注釋來代替faces-config.xml文件,但是並非每個JSF功能都可以通過注釋嚴格使用,因此有時即使在JSF2中,也需要一個faces-config文件。
但是,有一個小差異,那就是您應該更新faces-config文件中的xml模式版本引用,以反映JSF2生效的模式更改。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.