gpt4 book ai didi

javascript - 在 GSP 中将数据从 Controller 传递到 JavaScript

转载 作者:数据小太阳 更新时间:2023-10-29 06:11:46 25 4
gpt4 key购买 nike

我想直接在 View 中通过嵌入数据将数据从 Controller 传递到 javascript。 (因此不会有额外的请求。)

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

<script>
var data = ${invoice as JSON};
</script>

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

grails.views.default.codec = "none"

或(Grails 2.3)

grails {
views {
gsp {
codecs {
expression = 'none'
}
}
}
}

现在,我发现我可以像这样创建小标签库:

def json = { attrs, body ->
out << (attrs.model as JSON)
}

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

<script>
var data = <g:json model="${invoice}" />;
</script>

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

最佳答案

转换评论中的答案。您可以在 Controller 中创建 JSON 字符串并将其传递给 View 。 Grails 2.3.x 具有不对您的内容进行编码的原始编解码器。有关此编解码器的更多信息 here .

例子:

class MyController {
def index() {
String invoiceString = invoice as JSON
[json: invoiceString]
}
}

index.gsp

<script>
var data = ${raw(json)};
</script>

关于javascript - 在 GSP 中将数据从 Controller 传递到 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21452596/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com