2009-12-13 20 views
16

Usando la etiqueta GSP <g:set> de Grails, ¿es posible especificar el tipo de la variable? Quiero declarar una variable entera, pero <g:set> siempre declara una picadura. Por ejemplo:Grails GSP <g:set> conjunto de etiquetas como número entero?

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

resultados en

class java.lang.String 
10023 

me gustaría declarar x como un entero. Me di cuenta de que el uso de la etiqueta JSP <% int x=100; %> resultados en:

class java.lang.Integer 
123 

¿Hay una manera de hacerlo de esta manera la Grails/SGP?

Respuesta

27

Use la sintaxis $ {} al definir el value. Por ejemplo:

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

Puede ver the tag doc for g:set para obtener más información.

+0

IS es la forma preferida para establecer variables que no hacer '' <% x = 100 %>? –

2

Solo como un comentario adicional para alguien que se encuentra con esto ya que es el único resultado útil en Internet para y para transmitir/Int/Sring/etc. Este ejemplo funciona en el caso de 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();" />