簡體   English   中英

Guice和JSF 2

[英]Guice and JSF 2

我正在嘗試使用Guice注入JSF托管bean的屬性。 這一切都在Google App Engine上運行(可能很重要,也可能不重要)

我已按照此處的說明進行操作:

http://code.google.com/docreader/#p=google-guice&s=google-guice&t=GoogleAppEngine

第一步是一個問題。 我無法將Servlet模塊子類化並在那里設置servlet映射,因為Faces是由javax.faces.webapp.FacesServlet處理的,而javax.faces.webapp.FacesServlet是Servlet的子類,而不是HttpServlet的子類。 因此,我嘗試在第二步中描述的上下文偵聽器中創建注入器時,將servlet配置保留在web.xml文件中,並簡單地實例化新的ServletModel()和業務模塊。

完成所有這些工作以及web.xml配置之后,我的托管bean沒有注入任何屬性。 方法如下

@ManagedBean
@ViewScoped
public class ViewTables implements Serializable
{
    private DataService<Table> service;

    @Inject
    public void setService( DataService<Table> service )
    {
        this.service = service;
    }
    public List<Table> getTables()
    {
        return service.getAll();
    }
}

因此,我想知道是否有把Guice注入JSF托管bean中的技巧? 我顯然不能使用構造函數注入,因為JSF需要一個無參數的構造函數來創建bean。

您還可以創建一個HTTP Servlet,然后將其簡單地將請求委托給FacesServlet(如包裝器)。 使用Guice Servlet可以達到相同的效果。

這種方法對我們來說效果很好:

http://uudashr.blogspot.com/2008/12/guicing-jsf-with-guice.html

作為jsf sugar的開發人員,我真的很想知道您使用它的問題。 我們已經在生產中使用它了,因此不應該有任何“顯示停止器”,也許有些東西沒有被很好地記錄? 只需給我發送一封郵件:murbanek(at)gmx_net(將_替換為。)。

查閱http://code.google.com/p/guice2jsf/以及網站淀粉u.blogspot.com,它具有出色的庫,可提供Guice和JSF 2.0集成

由於這篇文章中的信息已經過時,但是問題仍然很重要,所以我想分享一下有關此主題的發現。 我寫了一個小教程,其中包括一個可運行的示例項目,介紹如何設置完全由guice驅動的Web堆棧。 您可以在這里找到它: https : //github.com/skuzzle/guice-jsf

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM