Grails GSP <g:set> 标签设置为整数?
Posted
技术标签:
【中文标题】Grails GSP <g:set> 标签设置为整数?【英文标题】:Grails GSP <g:set> tag set as integer? 【发布时间】:2010-12-26 02:25:15 【问题描述】:使用 Grails 的 GSP <g:set>
标签,是否可以指定变量的类型?我想声明一个整数变量,但<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 方式做到这一点?
【问题讨论】:
【参考方案1】:定义value
时使用$ 语法。例如:
<g:set var="x" value="$100"/>
您可以查看the tag doc for g:set 了解更多信息。
【讨论】:
与<% x = 100 %>
相比,设置变量的首选方式是什么?【参考方案2】:
作为对遇到此问题的人的附加评论,因为它是 Internet 上唯一有用的结果,用于和 cast/Int/Sring/etc。此示例适用于变量:
<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();" />
【讨论】:
以上是关于Grails GSP <g:set> 标签设置为整数?的主要内容,如果未能解决你的问题,请参考以下文章