我正在将Web应用程序从PHP / MySQL后端转移到Grails框架。然而,该应用程序有一些相当于它的遗留javascript代码,我想用最少的重写。它目前无法正常工作,我不确定原因。
一位朋友写了一个淡出幻灯片脚本,需要一个初始化为
的数组var images[3];
images[0] = ['path to image', 'link to somewhere', 'target'];
用PHP编写时,我只使用了链接和目标的相对路径和双引号,即
images[0] = ["../images/file.jpg", "", ""]
转移到Grails,我想在所有页面上显示幻灯片,从而导致插入main.gsp。
我已将头部的javascript链接声明为
<g:javascript src="fade_in.js" />
原始脚本的工作方式是图像数组在脚本中初始化,然后通过主体代码中的函数调用传入。因为我不知道是否可以在js文件中使用Grails createLinkTo
函数调用,所以我初始化了数组并使用
<div id="slideshow">
<script type="text/javascript">
var images[3];
images[0] = ["<g:createLinkTo dir='images' file='nsf.jpg' />", "", ""]
images[1] = ["<g:createLinkTo dir='images' file='east.jpg'/>", "", ""]
images[2] = ["<g:createLinkTo dir='images' file='usm_horz.png' />", "", ""]
new fadeshow(fadeimages,200,118,0,8000,1,"R");
</script>
</div>
根据firebug,文件的路径是正确的,但它们没有显示在指定的div位置。我可以看到图像应该在哪里,它是空的。
那么,将此功能与Grails应用程序集成需要做些什么?
答案 0 :(得分:1)
除非已将js文件映射为gsp,否则无法在.js文件中使用GSP标记。 您可以创建一个gsp文件,例如fade_in.gsp,它将声明图像数组。
例如 - fade_in.gsp
<script>
//you initialize your javascript array here - you can use all gsp tags.
</script>
然后将此gsp文件包含在需要images数组的其他页面中。