56 votes

Concaténation de chaînes en EL

Je tiens à concaténer une chaîne dans un opérateur ternaire en EL (Expression langage).

Supposons qu’il est une variable nommée value. S’il est vide, je veux utiliser du texte par défaut. Sinon, j’ai besoin pour l’ajouter à du texte statique.

Cela ne compilera pas cependant. Ce qui serait une façon correcte d’écrire cela ? Ou est-ce encore possible ?

103voto

Joel Points 1087

Avec EL 2 vous pouvez procéder comme suit :

46voto

McDowell Points 62645

Il n’y a aucun opérateur de concaténation de chaîne en EL. Si vous n’avez pas besoin de la chaîne concaténée de passer dans une autre opération, il suffit de mettre ces expressions juxtaposées :

41voto

BalusC Points 498232

Le opérateur n'a pas le même effet sur les chaînes en EL comme en Java. Mieux que vous pouvez faire est de présélection à l’aide de [ ](http://download.oracle.com/docs/cd/E17802_01/products/products/jsp/jstl/1.1/docs/tlddocs/c/set.html).

12voto

Aniket Kulkarni Points 3743

Depuis l'Expression de la Langue 3.0, il est possible d'utiliser l'opérateur += pour la concaténation de chaîne.

${(empty value)? "none" : value += " enabled"}  // valid as of EL 3.0

Citant EL 3.0 Spécification.

Opérateur De Concaténation De Chaîne

Pour évaluer

A += B 
  • Forcer A et B à la Chaîne.
  • De retour de la chaîne concaténée de A et de B.

1voto

Mohammad Faisal Points 1769

Réponse de Mc Dowell est droite. Je veux juste ajouter une amélioration si au cas vous devrez peut-être retourner la valeur de la variable en tant que :

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X