0

現在、きれいな顔を使用してプロジェクトをセットアップしようとしています。基本的なナビゲーションとパラメーター設定は機能しますが、「ロケール」を sessionScoped ビンに挿入しようとすると、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 は設定されていません。

編集:私は今、query-params で試してみましたが、どこかに「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

ロケールオブジェクトフィールドに挿入しようとしていますか?EL /JSFにはおそらくString->Localeのデフォルトのコンバーターがないため、おそらくFieldに挿入してから、を使用し<action>#{currentUser.language}</action>てそれをLocaleオブジェクトに変換して設定する必要があります。

于 2012-08-11T16:03:03.240 に答える