基本上有2個地方,以限定JavaScript函數Grails中,直接在所述GSP一個元件,而根據/ web應用/ JS一個單獨的JavaScript源文件中(例如,應用.js文件)。我們已經在application.js中定義了一個常用的javascript函數,但我們也需要能夠使用groovy代碼動態生成部分函數。不幸的是,$ {一些groovy代碼}似乎沒有在單獨的javascript源文件中處理。執行在JavaScript源常規語句Grails中
是通過GSP網頁上的腳本標籤中定義的JavaScript函數來做到這一點的唯一方法,還是有一個較全面的解決?很顯然,我們可以在模板GSP文件中的腳本標籤中定義javascript函數,這個模板可以被重用,但是爲了讓我們的JavaScript函數在一個地方(即外部javascript源文件)中一起定義,我們需要進行大量的推動。這也具有性能優勢(JavaScript源文件通常僅由每個客戶端的瀏覽器下載一次,而不是在他們訪問的每個html頁面的源內重新加載相同的javascript函數)。我已經玩弄了將功能分解爲靜態和動態片斷的想法,將靜態片斷放在外部源中,並將動態片斷放入模板GSP中,然後將它們粘合在一起,但這似乎是不必要的破解。
任何想法? (編輯:這聽起來像是動態生成JavaScript函數的一部分,然後下載一次並被客戶反覆使用的想法,這可能是一個壞主意,但是,這是一個「動態」只改變一個星期或一個月也許一次,然後只有非常輕微的。主要是我們只是想產生這塊關閉數據庫,哪怕只有一次,而不是硬編碼。)
非常聰明,謝謝 – 2009-01-08 20:44:16
非常歡迎!我上週遇到類似的問題,除了我正在處理CSS文件:) – gabriel 2009-01-08 20:59:32