自从我真正使用J2EE以来已经有很长一段时间了,请原谅我的无知。我最近参与Grails项目,再次引起了我对Java的兴趣,特别是在Grails中,因为它使得在Java平台上构建Web应用程序再次变得有趣。话虽这么说,我希望专家评论我对使用Grails构建的应用程序的以下要求:
设计团队(网页设计师)需要访问GSP页面并编辑视图文件(布局,模板等),而无需打扰开发团队(软件开发人员)。这种情况可以在构建期间和部署到生产之后进行。
设计人员,开发人员和业务用户之间的沟通水平不是问题。但是,大约40%的时间,业务部门涉及对前端的请求更改,这对开发人员的时间没有影响,但需要设计团队成员的时间。目前,部署工作流程遵循Grails应用程序,通过将War文件部署到Tomcat服务器。我想有一种更简单的方法可以让设计团队在不进行构建和部署生命周期的情况下进行UI更改。
过去,一些设计团队成员已经接触过PHP,有时会错过覆盖模板文件以使UI功能更加实用或改进布局模板的能力。我希望在Grails中有类似的方式来适应这种简单性。有人告诉我,爆炸War文件可能是一个选项,但仍然需要重新加载Tomcat托管的应用程序。
如果您认为我以错误的方式查看所需的解决方案,请加入,因为我对所有相关团队成员的可行妥协感兴趣。谢谢。
答案 0 :(得分:10)
您需要在Config.groovy中指定以下设置:
grails.gsp.enable.reload=true
grails.gsp.view.dir="/path/to/gsp/views"
'grails.gsp.view.dir'通常是您签出SVN回购的路径。然后,每当您想要更新视图时,您就可以'svn up'。
有一点需要注意:当编译GSP视图时,它会耗尽permgen。最终你会用完并需要重启服务器。
答案 1 :(得分:0)
您可以在开发模式下通过run-app运行具有应用程序版本的服务器。然后,设计人员可以对视图进行更改,然后重新加载。他们需要能够通过某种类型的共享来访问服务器上的源代码。另外,如果您检查了源代码,设计人员可以从服务器提交更改。
缺点是,如果重新加载失败或内存不足(已知会发生大量重新加载),开发人员需要停止并启动应用程序,或者您可以为设计人员提供运行脚本反弹它。
显然,您可以通过在开发模式和运行应用程序中运行来获得性能提升,但在您的情况下可能会有一个好消息。
欢呼声
利
答案 2 :(得分:0)
这可能不是这个问题的直接答案,但是因为你似乎关注设计师'在项目中的角色,您也可以查看我的designer friendly GSP implementation,这样设计师即使使用自定义标签也可以查看GSP页面,这要归功于"标签声明属性"特征。