誰か助けてくれないかしら。現在、SpringWebflow2アプリケーションをjspベースのビューレイヤーの使用からThymeleafベースのビューに変換中です。
このほとんどの部分でこれは問題ありませんが、Thymeleafがに配置したオブジェクトにアクセスできるようにするのに苦労していますservletContext。
つまり、servletContextBeanの一部としてに配置されるオブジェクトがあります(実装ServletContextAwareとInitializingBean)
簡単にするために、それが文字列であるとしましょう:
public class ReferenceDataBuilder implements ServletContextAware, InitializingBean {
public void setServletContext(ServletContext p_context) {
p_context.setAttribute("referenceData", "test text" );
}
jspベースのビューでは、次のreferenceDataようにオブジェクトにアクセスできます。
<p><c:out value="${referenceData}"/></p>
Spring ELの魔法により、アクセスできるさまざまなスコープ(、、servletContextなど)を認識しflowScope、flashScope(推測しますか?)一致するプロパティが見つかるまで各スコープを検索します。結果は次のとおりです。
<p>test text</p>
ビュー内にレンダリングされます。
thymeleafテンプレートでは、同じことを行おうとしています。
<p th:text="${referenceData}"/></p>
しかし、これは単に空の文字列を返します。ビューは空の文字列をレンダリングします。
<p></p>
(しかし、ELは実際にはnullとして返されていると思います)
referenceDataオブジェクトが次のようなスコープのプロパティである場合、flowScopeまたはこれが機能する場合は、かなり確信していますが、flashScopeそうではなく、のプロパティですservletContext。
thymeleafがservletContextEL経由でアクセスできるかどうか誰かが知っていますか?おそらく、私が使用する必要のある別の構文がありますか?
乾杯
ネイサン