【问题标题】:Grails GSP <g:set> tag set as integer?Grails GSP <g:set> 标签设置为整数?
【发布时间】:2010-12-26 02:25:15
【问题描述】:

使用 Grails 的 GSP &lt;g:set&gt; 标签,是否可以指定变量的类型?我想声明一个整数变量,但&lt;g:set&gt; 总是声明一个字符串。例如:

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

结果

class java.lang.String
10023

我想将x 声明为整数。我注意到使用 JSP 标记 &lt;% int x=100; %&gt; 会导致:

class java.lang.Integer
123

有没有办法通过 Grails/GSP 方式做到这一点?

【问题讨论】:

    标签: grails gsp


    【解决方案1】:

    定义value 时使用${} 语法。例如:

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

    您可以查看the tag doc for g:set 了解更多信息。

    【讨论】:

    • &lt;% x = 100 %&gt;相比,设置变量的首选方式是什么?
    【解决方案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();" />
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-28
      • 1970-01-01
      • 2016-08-03
      • 1970-01-01
      • 2012-01-29
      相关资源
      最近更新 更多