0

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" />

元のスクリプトの動作方法は、画像配列がスクリプトで初期化され、本体コードの関数呼び出しを介して渡されました。createLinkTojsファイルでGrails関数呼び出しを使用できるかどうかわからないので、配列を初期化し、関数を呼び出しました

<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 アプリと統合するには、何をする必要があるのでしょうか?

4

1 に答える 1

1

js ファイルを gsp としてマップしていない限り、.js ファイルで GSP タグを使用することはできません。images配列を宣言するfade_in.gspなどのgspファイルを作成できます。

例-fade_in.gsp

<script>
   //you initialize your javascript array here - you can use all gsp tags.
</script>

そして、画像配列を必要とする他のページにこの gsp ファイルを含めます。

于 2012-04-13T05:01:11.820 に答える