简体   繁体   English

从控制器到gsp的Grails JavaScript渲染

[英]Grails javascript render from controller to gsp

I am trying to render some Javascript from my controller to my GSP like this: 我正在尝试像这样从控制器向GSP渲染一些Javascript:

render text: """<script type="text/javascript">
                                            alert("Row number: " + rowNumber); 
                                        </script>""",
                               contentType: 'js'

where "rowNumber" is a variable in my Controller and I want the value of it to appear in the alert box. 其中“ rowNumber”是控制器中的变量,我希望它的值出现在警报框中。 I can't seem to figure out the syntax and need a little help. 我似乎无法弄清楚语法,需要一点帮助。 Presently I get this error in the browser: 目前,我在浏览器中收到此错误:

Uncaught ReferenceError: rowNumber is not defined 

You want something like this: 您想要这样的东西:

render text: """<script type="text/javascript">
                    alert("Row number: " + ${rowNumber}); 
                </script>""",
       contentType: 'js'

That will cause the value of rowNumber in your controller to be substituted into the string before the string is rendered. 这将导致控制器中的rowNumber值在呈现字符串之前被替换为字符串。

EDIT: 编辑:

(another option) (另外一个选项)

You could do away with the concatenation altogether with something like this: 您可以通过以下方式完全消除串联:

render text: """<script type="text/javascript">
                    alert("Row number: ${rowNumber}"); 
                </script>""",
       contentType: 'js'

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM