2009-12-13 6 views
16

En utilisant la balise GSP <g:set> de Grails, est-il possible de spécifier le type de la variable? Je veux déclarer une variable entière, mais <g:set> déclare toujours une piqûre. Par exemple:Grails GSP <g:set> tag défini comme entier?

<g:set var="x" value="100"/> 
${x.getClass()} 
${x+23} 

résultats dans

class java.lang.String 
10023 

Je voudrais déclarer x comme un entier. J'ai remarqué que en utilisant la balise JSP <% int x=100; %> résultats dans:

class java.lang.Integer 
123 

Est-il possible de le faire de la façon Grails/GSP?

Répondre

27

Utilisez la syntaxe $ {} lors de la définition de value. Par exemple:

<g:set var="x" value="${100}"/> 

Vous pouvez voir the tag doc for g:set pour plus d'informations.

+0

Is est le moyen privilégié pour définir les variables que de faire '' <% x = 100 %>? –

2

Juste comme un commentaire supplémentaire pour quelqu'un qui rencontre cela car c'est le seul résultat utile sur Internet pour et casting/Int/Sring/etc. Cet exemple fonctionne dans le cas des variables:

<g:set var="printLeft" value="${offer?.metaInfo?.redeemPrintY as Integer}"/> 
<g:set var="printTop" value="${offer?.metaInfo?.redeemPrintX as Integer}"/> 
<g:set var="printWidth" value="${offer?.metaInfo?.redeemPrintW as Integer}"/> 
<g:set var="printHeight" value="${offer?.metaInfo?.redeemPrintH as Integer}"/> 

...

<area shape="rect" coords="${printLeft},${printTop},${printLeft+printWidth},${printTop+printHeight}" onClick="printOffer();" /> 
Questions connexes