2009-12-13 60 views
16

使用Grails的GSP <g:set>標籤,是否可以指定變量的類型?我想聲明一個整型變量,但<g:set>總是聲明一個刺。例如:Grails GSP <g:set>標記設置爲整數?

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

導致

class java.lang.String 
10023 

我想聲明x爲整數。我注意到,使用JSP標籤<% int x=100; %>結果:

class java.lang.Integer 
123 

有沒有辦法做到這一點的Grails/GSP方式是什麼?

回答

27

定義value時使用$ {}語法。例如:

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

有關更多信息,請參閱the tag doc for g:set

+0

是是設置比做''<% x = 100 %>變量的首選方法是什麼? –

2

正如對於遇到此問題的人的補充評論,因爲它是因特網上for和cast/Int/Sring /等唯一有用的結果。這個例子工程變量的情況下:

<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();" />