2012-03-02 3 views
0

@Valueがプロパティを読み込もうとしているときにnullを返しています。以下は@ ValueでSpring 3.05-問題を返しました。

は私の設定です:以下

<util:properties 
    id="applicationProps" 
    location="/WEB-INF/spring/application.properties" /> 

私はカスタムタグを持っているコードです:

private @Value("#{applicationProps.staticResourceUrl}") String staticResourceUrl; 
+1

カスタムタグ?スプリングはライフサイクルをコントロールしていますか?スキャンされたパッケージに入っていますか? –

+0

こんにちはデイブさん、カスタムタグのライフサイクルを春の制御にしたりスキャンしたりする方法がわかりません。今のところ、私はJSPでそれを使用しようとしている同じパッケージにカスタムタグを書きました。 – user1241392

+0

認識されるためには、春に注釈をスキャンするパッケージにする必要があります。コンポーネントとして注釈を付ける必要があるかどうかは不明です。 –

答えて

0

小道具がapplication.propertiesを提出した場合、その後経由でインポートstaticResourceUrlというプロパティが含まれていました。

<context:property-placeholder location="/WEB-INF/spring/application.properties"/> 

@Value("${staticResourceUrl}") private String staticResourceUrl; 
+0

まだスキャンする必要があります。 –

+0

私はパウロが言及したことをやった。また、@Componentアノテーションも持っています。まだ私はnullになっています。 – user1241392

+0

は私のapplication.propertiesにあります - staticResourceUrl = http:// localhost-static-webserver:8082。以下は私のspring-servlet.xmlです。 user1241392

0

カスタムタグのライフサイクルは、通常、スプリングによって扱わしかし、あなたが行うことができます一つのことは

org.springframework.web.servlet.tags.RequestContextAwareTag

を拡張し、doStartTagInternal()方法で

WebApplicationContext wac = getRequestContext().getWebApplicationContext(); 
String url = wac.getEnvironment().getProperty("some.property"); 

を行うことではありません。

関連する問題