我的 Grails 应用程序中有一个变量BootStrap.groovy
:
class BootStrap {
def init = { servletContext ->
def testGrails = "11"
我想展示一个 JavaScriptalert()
如果这个测试值为11。
我的 JavaScript:
<SCRIPT LANGUAGE="JavaScript">
if(testGrails==11) // WHAT TO WRITE WITH IN THE BRACKETS ...?
{
alert("yes");
}
如何在 Javascript 中访问 Grails 类来执行上述操作?
Thanks.
首先 - 您必须使该变量可以从其他地方访问。目前它仅限于init
范围。例如,您可以将其放入全局配置中(请参阅Config.groovy
)。或者设置为服务。或者做一个public static
某处变量。
服务示例:
class VariableHOlderService {
def testGrails
}
and
class BootStrap {
VariableHolderService variableHolderService
def init = { servletContext ->
VariableHolderService.testGrails = "11"
}
其次 - 您需要将其放入请求中。有两种方法 - 使用过滤器或控制器/操作。当您想要使用来自不同 GSP 的相同变量时,第一个选项很有用。
从控制器来看,它将是:
VariableHolderService variableHolderService
def myAction = {
render model: [testGrails:variableHolderService.testGrails]
}
并在 GSP 中使用它作为
<g:javascript>
if(${testGrails}==11)
{
alert("yes");
}
</g:javascript>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)