小编Mea*_*eam的帖子

在GSP中将数据从控制器传递到JavaScript

我希望直接在视图中通过嵌入数据将数据从控制器传递到javascript.(因此不会有额外的请求.)

我的第一个解决方案是as JSON在GSP中使用这样的:

<script>
  var data = ${invoice as JSON};
</script>
Run Code Online (Sandbox Code Playgroud)

我不认为这是个好主意,因为我必须使用(Grails 2.2)

grails.views.default.codec = "none"
Run Code Online (Sandbox Code Playgroud)

或(Grails 2.3)

grails {
  views {
    gsp {
      codecs {
        expression = 'none'
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

现在,我发现我可以像这样创建一个小的taglib:

def json = { attrs, body ->
  out << (attrs.model as JSON)
}
Run Code Online (Sandbox Code Playgroud)

我可以在GSP中使用以下代码:

<script>
  var data = <g:json model="${invoice}" />;
</script>
Run Code Online (Sandbox Code Playgroud)

现在,问题.使用taglib是最佳做法吗?如果没有,请给我最好的解决方案.

javascript grails json

5
推荐指数
1
解决办法
3705
查看次数

标签 统计

grails ×1

javascript ×1

json ×1