Исключение с использованием EL-Injection

В настоящее время я пытаюсь настроить свой проект, используя красивые лица. Базовая навигация и настройка параметров работают, но когда я пытаюсь внедрить «локаль» в корзину sessionScoped, prettyfaces выдает исключение, говоря:

PrettyFaces: Exception occurred while processing for 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-инъекцию, правило работает, но оф. Тогда CurrentUser.language не установлен.

Редактировать: теперь я пробовал это с параметрами запроса, но где-то есть «ноль»:

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> 

Любые идеи?


person dognose    schedule 10.08.2012    source источник


Ответы (1)


Вы пытаетесь внедрить в поле объекта Locale? Вероятно, нет конвертера по умолчанию для String -> Locale в EL/JSF, поэтому вам, вероятно, следует ввести в поле, а затем использовать <action>#{currentUser.language}</action>, чтобы преобразовать его в объект Locale и установить его.

person Lincoln    schedule 11.08.2012