基本上有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