2012-08-10 34 views
0

我目前正在嘗試使用漂亮的面孔來設置我的項目。基本的導航和參數設置工作,但是當我試圖注入了「區域設置」成sessionScoped斌,prettyfaces拋出一個異常,說使用EL注入的例外

PrettyFaces:發生異常而URL

處理這是我的配置:

<url-mapping id="locale"> 
    <pattern value="/#{language: CurrentUser.language}" /> 
    <view-id value="/faces/index.xhtml" /> 
</url-mapping> 

<url-mapping parentId="locale" id="portal"> 
    <pattern value="/portal" /> 
    <view-id value="/faces/index.xhtml" /> 
</url-mapping> 

如果我刪除EL注入,該規則的作品,但c。 CurrentUser.language沒有設置,然後。

編輯:我現在查詢PARAMS試過了 - 而且那裏有一個 「空」 的話:

http://localhost:8090/portal/?language=en 

造成:

PrettyFaces: Exception occurred while processing mapping<portal:#{currentUser.language}> for query parameter named<language> null 

與配置

<url-mapping id="portal"> 
    <pattern value="/portal/" /> 
    <view-id value="/faces/index.xhtml" /> 
    <query-param name="language">#{currentUser.language}</query-param> 
</url-mapping> 

有什麼建議嗎?

回答

0

您是否試圖注入Locale對象字段?在EL/JSF中,可能沒有默認轉換器用於String - > Locale,因此您應該注入一個字段,然後使用<action>#{currentUser.language}</action>將其轉換爲Locale對象並進行設置。