È possibile eseguire quanto segue se si dispone di un solo profilo alla volta.
<div th:if="${@environment.getActiveProfiles()[0] == 'production'}">
This is the production profile - do whatever you want in here
</div>
Il codice di cui sopra si basa sul fatto che la primavera il dialetto del Thymeleaf consente di accedere fagioli utilizzando il simbolo @
. E naturalmente l'oggetto Environment
è sempre disponibile come bean Spring.
Si noti inoltre che Environment
ha il metodo getActiveProfiles()
che restituisce un array di stringhe (è per questo che [0]
è usato nella mia risposta), che possiamo chiamare utilizzando standard di Primavera EL.
Se più di un profilo è attivo alla volta, una soluzione più robusta sarebbe utilizzare l'oggetto di utilità #arrays
di Thymeleaf per verificare la presenza della stringa production
nei profili attivi. Il codice in questo caso sarebbe:
<div th:if="${#arrays.contains(@environment.getActiveProfiles(),'production')}">
This is the production profile
</div>
Grazie mille, questo era esattamente quello che stavo cercando. – occurred
@ volte sono contento di aiutare! Aiuterebbe i futuri lettori se accetti la risposta, perché in questo modo si potrebbe facilmente capire se è corretta senza dover leggere i commenti – geoand
Nel frattempo c'è anche 'acceptProfiles (String ... profiles)' in 'Environment', che rende il controlla un po 'più agevolmente: '@ environment.acceptsProfiles (' produzione ')' – cfrick