2012-08-10 77 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对象并进行设置。