Je ne sais pas quand utiliser ${...}
par rapport à #{...}
. La documentation de Spring n'utilise que #{...}
, mais il existe de nombreux exemples qui utilisent ${...}
. De plus, quand j'ai commencé avec SpEL, on m'a dit de l'utiliser ${...}
et cela fonctionne très bien.
Pour ceux qui sont confus, un exemple de la façon dont je l'utilise serait
@Component
public class ProxyConfiguration {
@Value("${proxy.host}")
private String host;
@Value("${proxy.port}")
private String port;
:
}
et un fichier de propriété:
proxy.host=myproxy.host
proxy.port=8000
Mes questions sont:
- quelles sont les différences ou est-ce la même chose?
- une version est-elle obsolète, je devrais donc utiliser l'autre?
"#{'${property}'}"
${expr}
-> Évaluation immédiate#{expr}
-> Évaluation différéeRéférence complète ici
Il n'y a pas de JSP EL, JSP utilise SpEL. SpEL s'adapte à la technologie qui l'utilise.
la source
Essayez de lire cet article , qui suggère
"Si le hachage est utilisé, votre code est recalculé chaque fois que cet élément est inclus dans une actualisation partielle (c'est-à-dire à chaque fois qu'il est rendu). Si vous utilisez un dollar, votre code n'est calculé que lorsque la page est chargée initialement. Mais ceci a été étendu au-delà du simple EL, à SSJS aussi. Après le hachage ou le dollar, les accolades indiquent le début et la fin de votre langue. Ce sera important lorsque nous en viendrons à combiner les langues plus tard. "
la source
Spécification du langage d'expression • Version finale - 8 mai 2006
Page 2:
Une eval-expression est formée en utilisant les constructions $ {expr} ou # {expr}. Les deux constructions sont analysées et évaluées exactement de la même manière par l'EL, même si elles peuvent avoir des significations différentes dans la technologie qui utilise l'EL.
la source