21

app-servlet.xml次のような Beanでプロパティを設定しています。

    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
            <property name="location" value="/WEB-INF/my.properties"></property>
    </bean>

ほとんどの場合、コントローラーまたは次のような他のクラスのプロパティにアクセスします。

@Value("${dbtype}")
public String dbType;

しかし、JSP ファイルでプロパティを使用し、コントローラーをバイパスしたい場合はどうすればよいでしょうか。つまり、コントローラーからモデル属性として値の型を JSP に渡す必要はありません。

jspでプロパティに直接アクセスする方法はありますか?

4

5 に答える 5

36

春の設定

<util:properties id="propertyConfigurer" 
                  location="classpath:yourPropertyFileClasspathHere "/>
<context:property-placeholder properties-ref="propertyConfigurer" />

jsp

<spring:eval expression="@propertyConfigurer.getProperty('propertyNameHere')" />
于 2013-02-27T12:02:07.690 に答える
23

また、単一のプロパティ プレースホルダーでプロパティを検索することに縛られないこともできます。または、Java 構成を使用していて、PropertySourcesPlaceholderConfigurer をインスタンス化するだけの場合は、環境オブジェクトを使用します。

<spring:eval expression="@environment.getProperty('application_builtBy')" />
于 2015-01-20T14:46:25.767 に答える
10
<bean class="org.springframework.context.support.ReloadableResourceBundleMessageSource" 
    id="messageSource"
    p:basenames="WEB-INF/i18n/site"
    p:fallbackToSystemLocale="false"/>

これがあなたのプロパティファイルです

site.name=Cool Bananas

そして、ここにあなたのJSPがあります

<%@ taglib uri="http://www.springframework.org/tags" prefix="spring" %>
<html>
  <head>
    <title><spring:message code="site.name"/></title>
  </head>
  <body>
  </body>
</html>
于 2015-04-09T20:42:57.397 に答える