2010-08-17 18 views
2

J'ai une chaîne composée de plusieurs chaînes séparées par des virgules. En utilisant StringTemplate, existe-t-il un moyen facile d'écrire une ligne séparée pour chaque 'valeur' ​​dans cette chaîne externe?Can StringTemplate itérer par 'valeurs' dans une chaîne?

Par exemple, j'ai:

String layers = "ADM,NAV"; 

et je veux sortie:

ADM,Y, 
NAV,Y, 

Je soupçonne que le modèle ressemblerait (si possible) quelque chose comme ceci:

$layers.split(","): {layer | $layer$,Y, }$ 

Voici un exemple un peu apparenté que j'ai trouvé sur comment écrire une ligne pour chaque objet d'une collection:

<ul> 
    $orders: {order| 
     <li>Order $order.OrderId$</li> 
    }$ 
</ul> 

Cependant, je ne peux pas simplement construire une collection de la chaîne dans mon code Java - il doit reste une chaîne par des virgules seperated. Des idées?

Merci!

Répondre

4

Ce n'est pas possible selon le philosophy de StringTemplate: l'objectif du moteur de gabarit est de séparer la représentation de la logique métier. Dans votre cas, la chaîne de fractionnement est une logique métier et ne peut pas être effectuée dans un modèle.