【发布时间】:2016-01-17 15:23:31
【问题描述】:
在 Grails GSP 中,有没有办法访问 Jquery 中的 GSP 元素,例如,我在 GSP 中有以下代码:
<g:hasErrors bean="${adsInstance}">
在 Jquery 中,我想访问adsInstance,这适用吗?
【问题讨论】:
在 Grails GSP 中,有没有办法访问 Jquery 中的 GSP 元素,例如,我在 GSP 中有以下代码:
<g:hasErrors bean="${adsInstance}">
在 Jquery 中,我想访问adsInstance,这适用吗?
【问题讨论】:
首先,您需要了解 GSP 是在服务器端处理的,因此该范围内的变量仅在服务器上可用。
其次,您需要了解 jQuery 是一个运行在客户端上的客户端库。
为了将“数据”从服务器端变量获取到客户端变量中,您需要动态创建将要执行的 jQuery/javascript。
可能是这样的:
// in the GSP page in question, within some block of jQuery/javascript
var someVariableInJavascript = ${adsInstance as JSON}
以上内容应该使用与您的adsInstance具有相同属性和值(不是方法)的javascript对象填充变量
如果不出意外,这应该会让你走上正确的道路。
【讨论】:
alert ("${adsInstance.title}") 并且工作正常
@Sherif 您编写的代码必须在 gsp 文件脚本标记中,但是当您将代码移动到某个 javascript 文件时,此代码将不起作用。
你问的问题是关于hasErrors的,如果你想使用hasErrors你也可以在gsp脚本标签中做(虽然这不是一个好习惯)
<script>
var result = "${hasErrors(bean:adInstance,'1')}"
</script>
如果实例有任何错误,result 将为 1。
【讨论】: