2010-12-03 22 views
3

Je suis nouveau à JSTL et je veux généraliser certaines fonctionnalités qui sont utilisées plusieurs fois dans un tag dans un tag séparé. Mon idée est de passer ce tag à un tableau de chaînes. Ce n'est pas un problème. Mais je veux aussi nommer certaines variables basées sur ces chaînes afin que je puisse réutiliser les résultats d'expressions dans la portée locale.Les noms Var JSTL peuvent-ils être définis à partir d'expressions ou doivent-ils être des chaînes littérales?

Exemple:

<c:set var="hasFirstName" value="false"/> 

Je veux tester "hasFirstName" à différents endroits dans la balise. Mais les noms vont changer en fonction de l'entrée. Alors, y a-t-il un moyen de faire quelque chose comme ça?

<c:forTokens var="formName" items="firstName,middleName,lastName" delims=","> 
     <c:set var="has_${formName}" value="false"/> 
</c:forTokens> 
+0

Vous pouvez toujours l'essayer et savoir ... – skaffman

+0

@skaffman: J'ai essayé, mais la page échoue pour d'autres raisons et je veux m'assurer que ce n'est * pas * la raison. Comme je le dis, je suis nouveau à JSTL. – Robusto

Répondre

2

Votre approche ne fonctionnera, il ne sera stocké sous forme has_firstName, non pas comme hasFirstName.

Vous pouvez sous-chaîne et en majuscule le 1er caractère avec JSTL functions, mais c'est maladroit.