【问题标题】:Grails - set variable from javascript functionGrails - 从javascript函数设置变量
【发布时间】:2014-02-06 13:10:01
【问题描述】:

当我尝试在 GSP 视图中从 javascript 函数中设置变量时,我遇到了错误: “无法在空对象上调用方法 func()”

普惠制:

<g:set var="variable" value="${tr.func.name()}" />

我也尝试过解决这个问题,但没有成功: 变量未定义

<g:javascript>var test = tr.func.name();</g:javascript>
<g:set var="variable" value="${test}" />
<g:javascript>alert(${variable});</g:javascript>

谢谢

【问题讨论】:

  • 这是不可能的。当视图已经被处理并传输到浏览器时,javascript 在浏览器中工作,在客户端计算机上,而不是服务器上。你真正想要达到的目标是什么?
  • 我有一个 jquery 函数,可以从用户那里获取 timzone,我想将它用于:
  • 现在已经太晚了,gsp 在服务器上工作。您不能在浏览器中使用 gsp 标签。所以,你必须使用 javascript 来格式化日期。

标签: javascript grails


【解决方案1】:

您应该在浏览器中使用 Javascript。 GSP 在服务器端工作。

只需将格林威治标准时间的日期传递给浏览器,并在那里应用格式。有一个很好的日期格式化js库:moment.js

【讨论】:

    【解决方案2】:

    你不能那样做。 &lt;g:set&gt; 用于在 GSP 中设置服务器端变量。 Javascript 是客户端。

    【讨论】:

    • Grails 是否提供了另一种解决方案?
    • 没有完整的解决方案。 GSP 标签在发送到客户端之前呈现。执行 JavaScript 时,它位于客户端中。客户端和服务器端之间的区别是一个重要的区别。您正在寻找的解决方案是使用 JavaScript 日期格式。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-22
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多