将Javascript函数与Grails应用程序集成

时间:2012-04-12 21:38:21

标签: javascript grails

我正在将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应用程序集成需要做些什么?

1 个答案:

答案 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数组的其他页面中。