Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Grails在javascript内部的GSP站点中使用grailsvar_Javascript_Variables_Grails_Gsp - Fatal编程技术网

Grails在javascript内部的GSP站点中使用grailsvar

Grails在javascript内部的GSP站点中使用grailsvar,javascript,variables,grails,gsp,Javascript,Variables,Grails,Gsp,在GSP文件的javascript代码中使用grails变量值有一个问题 例如:我有一个session值session.getAttribute(“selectedValue”),我想在javascript代码部分中使用这个值 我的解决方案是(在普惠制内): 第一个问题的解决方案可能如下所示: 更新:根据@Medrod的解决方案进行修改: <script type="text/javascript"> var jsSelectedValue = "${session.selected

在GSP文件的javascript代码中使用grails变量值有一个问题

例如:我有一个session值session.getAttribute(“selectedValue”),我想在javascript代码部分中使用这个值

我的解决方案是(在普惠制内):


第一个问题的解决方案可能如下所示:

更新:根据@Medrod的解决方案进行修改:

<script type="text/javascript">
var jsSelectedValue = "${session.selectedValue}";
</script>

var jsSelectedValue=“${session.selectedValue}”;
第二个问题:

将所选值发送到服务器并设置会话变量。

为什么不使用javascript GSP标记?解决方案可以如下所示:

<g:javascript>
    var jsSelectedValue = "${session.selectedValue}"; 
</g:javascript>

var jsSelectedValue=“${session.selectedValue}”;

在上面的代码中没有真正引用任何grails变量。实际上,您正在使用从模板生成javascript代码。此模板可以访问会话,因为它是在服务器端处理的。谢谢Medrod和Zedwal!对于第二个问题的答案,如果我将所有内容发送到服务器(例如JSON POST),每个脚本kiddie都可以准备一些本地表单值和准备好的ajax POST和Manipule。。。正确的?!我不确定是否还有其他人会像我一样陷入困境,但请确保var声明位于一个单独的标记中,而不是任何带有源参数的脚本中。
<g:javascript>
    var jsSelectedValue = "${session.selectedValue}"; 
</g:javascript>