0

我目前正在尝试使用漂亮的面孔来设置我的项目。基本导航和参数设置有效,但是当我尝试将“语言环境”注入 sessionScoped bin 时,prettyfaces 抛出异常,说

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 注入,则规则有效,但 ofc。CurrentUser.language 没有设置,那么。

编辑:我现在已经用查询参数尝试过了——但在某处也有一个“null”:

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> 

有任何想法吗?

4

1 回答 1

0

您是否尝试注入 Locale 对象字段?EL/JSF 中的 String -> Locale 可能没有默认转换器,因此您可能应该注入一个 Field,然后使用 an<action>#{currentUser.language}</action>将其转换为 Locale 对象并设置它。

于 2012-08-11T16:03:03.240 回答