Spring MVC Webapp:が店内パス共通です。
-
23-08-2019 - |
質問
私の構築Spring MVCウェブアプリケーションでタイル/JSPなどの技術です。たい保存の経路に共通の画像をクラス共通
public final static String IMG_BREADCRUMBS_NEXT = "/shared/images/famfam/bullet_arrow_right.png";
そして私はこのクラスを使用するjspの画像srcのように
<img src="<%= Common.IMG_BREADCRUMBS_NEXT %>"/>
いくscriptletsっjspコードを使用jstl。です。どのように保管すればよいこのようなのでしょうか?でリソースバンドル?よろしくお願いしまる。
解決
最終的に使用した春のテーマをうございました。私はコードを利用したい <spring:theme code=""/>
タグのパスを取得して画像ファイル:
<img src="<spring:theme code="theme.images.actions.edit.link"/>" />
このタグのように動作すの他 <fmt:message>
または <spring:message>
タグでは、独自の"メッセージバンドル".に必要な構成になっapplicationContext:
<!--
=========================================================
Themes
=========================================================
-->
<bean id="themeResolver" class="org.springframework.web.servlet.theme.SessionThemeResolver">
<property name="defaultThemeName" value="themes.default"/>
</bean>
<bean id="themeSource" class="org.springframework.ui.context.support.ResourceBundleThemeSource" />
すべてのテーマは申請の下で保存された /WEB-INF/classes/themes/
.デフォルトのテーマの特性に /WEB-INF/classes/themes/default.properties
このようになります。
...
theme.images.actions.show.link=/@contextPath@/shared/images/famfam/zoom.png
theme.images.actions.delete.link=/@contextPath@/shared/images/famfam/cross.png
...
変更のテーマやアイコン)のアプリを使用していThemeChangeInterceptor(applicationContext)
<!--
=========================================================
Theme resolving
=========================================================
-->
<bean id="themeChangeInterceptor" class="org.springframework.web.servlet.theme.ThemeChangeInterceptor">
<property name="paramName" value ="theme" />
</bean>
これにより、ユーザーの切り替えテーマを介して "&theme=themes.default"
または "&theme=themes.alternative"
要求パラメータとします。
一つのキーのセットアップの @contextPath@
をテーマにpropertiesファイルです。この交換時のAntビルドプロセスの正しいコンテキストパスのための開発/実験/生産環境です。のキーの一部build.xml :
<!-- copy all common themes to classes -->
<copy todir="${build.war}/WEB-INF/classes/themes" overwrite="true" filtering="true">
<fileset dir="resources/themes" includes="**/*.properties" />
<filterchain>
<replacetokens>
<token key="contextPath" value="${setup.contextPath}"/>
</replacetokens>
</filterchain>
</copy>
いて作成することができ、"ランニングスタート"の春のウェブアプリのテーマです。私はこのセットアップで簡単に変更させるだけでなく、見た目や使用感じアプリケーションの一部。
参考文献:
他のヒント
アプリケーションスコープのコンフィグレーションBeanを使用しますので、あなたは、
のようなものを書くことができます<img src="${configuration.imagePath}/icon.png">
私は春を使用していないが、あなたは、おそらく我々は、JBossとSeamで何に似て何かをする依存性注入を使用することができます。
基本的に、我々は、プロパティのXML設定からロードされたアプリケーションの設定パラメータ、ある(実際のJBossのMBeanが、それはオフトピックだ)構成と呼ばれるPOJOクラスを持っています。この例では、私たちの豆はgetImagePath()
メソッドを持つことになります。
Seamは、「アプリケーション」スコープのコンフィグレーションBeanの単一のインスタンスをインスタンス化するの世話をします。
は、データベースに基づいたテーマを決定したクラスを使用するより堅牢ではないでしょう。これにより、ユーザーは、時間やユーザーエージェントに基づいたテーマをテーマを管理しても、実装することができますか?
この操作を行うと、ユーザーのセッションにテーマを保存するために、同時に春のテーマを使用することは可能でしょうか?