有没有人知道通过Grails访问sql视图的最佳方法是什么(或者如果可能的话)?这样做的一个显而易见的方法是对视图使用executeQuery从视图中选择一组行,我们不会将其视为域对象列表.但是,即使在这种情况下,运行executeQuery的域类也不明显,因为实际上我们只是使用该域类来对完全不相关的实体(视图)运行查询.
是否首选创建表示视图的域类,然后我们可以对该域类使用list()?看起来这会有问题,因为Grails可能希望能够插入,更新,删除和修改任何域类的表模式.
[编辑:
此处跟进问题:Grails Domain Class没有ID字段或部分为NULL复合字段
有没有人尝试用Adobe Dreamweaver CS4进行GSP设计?它支持JSP,但是它不识别gsp扩展,即使它确实存在,我认为它会出现无法识别的gsp标记的问题.我在这里找到了一个小食谱(http://www.bitwalker.nl/blog/using-groovyserver-pages-in-dreamweaver),让GSP部分使用Dreamweaver CS3,但它引用的许多文件和目录不再出现存在于CS4中.
在Grails中,有两个地方可以定义JavaScript函数,直接在GSP上的元素中,以及在/ web-app/js下的单独的javascript源文件中(例如,application.js).我们在application.js中定义了一个常用的javascript函数,但是我们还需要能够使用groovy代码动态生成函数的一部分.不幸的是,$ {some groovy code}似乎没有在单独的javascript源文件中处理.
是通过在GSP页面上的脚本标记中定义javascript函数来实现此目的的唯一方法,还是有更通用的解决方案?显然,我们可以在模板GSP文件中的脚本标签中定义javascript函数,该文件将被重用,但是有很多推动将我们的javascript函数一起定义在一个地方(即外部javascript源文件).这也有性能优势(javascript源文件通常只是由每个客户端的浏览器下载一次,而不是在他们访问的每个html页面的源代码中重新加载相同的javascript函数).我已经玩弄了将功能分解为静态和动态部分的想法,将静态部分放在外部源中并将动态部分放入模板GSP中,然后将它们粘合在一起,
有任何想法吗?
(编辑:听起来像是动态生成JavaScript函数的一部分,然后下载一次并被客户端一遍又一遍地使用,这可能是一个坏主意.但是,"动态"的部分只会改变也许每周或每月一次,然后只是非常轻微.大多数情况下,我们只想要从数据库中生成这一部分,即使只有一次,而不是硬编码.)