2012-12-11 12 views
7

Czy można wprowadzić wartość zerową lub pustą wartość jako wartość domyślną, która będzie używana w pliku sprężyny, jeśli właściwość nie zostanie określona? Obecnie najlepszy mam toInjection of null lub pusty ciąg jako wartość domyślna właściwości

<constructor-arg index="1" value="@{data.url:&quot;&quot;}"/> 

który postanawia "" w kodzie

+1

myślę tylko '< konstruktor-arg value = "" /> "powinien działać. Jeśli potrzebujesz indeksu, możesz go dodać. Może nie dostaję twojego pytania w prawo? –

+0

zawsze wyśle ​​pusty łańcuch. Interesuje mnie pusty ciąg, tylko jeśli nie jest określony w powiązanym pliku właściwości. Zobacz http://stackoverflow.com/a/2534949/222867 – qwerty

Odpowiedz

7

Czy próbowali za pomocą SpEL? Coś takiego może:

<constructor-arg index="1" value="#{'${data.url}'==null?'':'${data.url}'}"/> 

Aktualizacja

Właśnie sobie przypomniałem, że istnieje prostszy sposób (jak ładnie opisane here). Spróbuj:

<constructor-arg index="1" value="${data.url:''}"/> 
8

to załatwi, jeśli używasz adnotacji w źródle:

@Value("${data.url:#{null}}") 
private String dataUrl; 
5

pustymi Elvis pracuje dla mnie ...

@Value("${http.proxyHost?:}") 
public String proxyHost = null; 
Powiązane problemy