【问题标题】:Exception using EL-Injection使用 EL 注入的异常
【发布时间】:2012-08-07 17:07:53
【问题描述】:

我目前正在尝试使用漂亮的面孔设置我的项目。基本导航和参数设置有效,但是当我尝试将“语言环境”注入 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> 

有什么想法吗?

【问题讨论】:

    标签: locale prettyfaces


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-26
      • 1970-01-01
      • 1970-01-01
      • 2015-09-23
      • 2014-11-19
      • 2013-10-07
      • 2021-12-29
      • 2014-07-10
      相关资源
      最近更新 更多