5

自从我真正使用 J2EE 以来已经有很长时间了,所以请原谅我的无知。我最近参与的 Grails 项目再次激发了我对 Java 的兴趣,尤其是 Grails,因为它使在 Java 平台上构建 Web 应用程序再次变得有趣。话虽如此,我希望专家评论一下我对使用 Grails 构建的应用程序的以下要求:

设计团队(网页设计师)需要访问 GSP 页面并编辑视图文件(布局、模板等),而无需打扰开发团队(软件开发人员)。这种情况既可以在构建期间发生,也可以在部署到生产中之后发生。

设计师、开发人员和业务用户之间的沟通水平在这里不是问题。然而,大约 40% 的时间,涉及的业务部门请求对前端进行更改,这对开发人员的时间没有影响,但需要设计团队成员的时间。目前,部署工作流遵循 Grails 应用程序,将 War 文件部署到 Tomcat 服务器。我想有一种更简单的方法可以让设计团队在不经历构建和部署生命周期的情况下进行 UI 更改。

设计团队的一些成员过去曾接触过 PHP,但有时会错过仅覆盖模板文件以使 UI 片段更具功能性或改进布局模板的能力。我希望有一种类似的方法可以在 Grails 中适应这种简单性。有人告诉我,爆炸 War 文件可能是一种选择,但这仍然需要重新加载 Tomcat 托管应用程序。

如果您认为我以错误的方式看待所需的解决方案,请插话,因为我对所有相关团队成员的可行折衷方案更感兴趣。谢谢你。

4

3 回答 3

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。最终您将用完并需要重新启动服务器。

于 2010-01-26T11:20:56.957 回答
0

您可以在开发模式下通过 run-app 运行具有应用程序版本的服务器。然后,设计人员可以对视图进行更改,然后重新加载。他们需要能够通过某种共享访问服务器上的源代码。另外,如果您检查了源代码,则设计人员可以从服务器提交他们的更改。

不利的一面是,如果重新加载失败或内存不足(已知会发生大量重新加载),开发人员将需要停止并启动应用程序,或者您可以为设计人员提供运行脚本以将其反弹.

在开发模式下运行和通过 run-app 运行显然会对性能造成影响,但在你的情况下这可能是一个不错的权衡。

干杯

于 2010-01-24T22:10:36.960 回答
0

这可能不是这个问题的直接答案,但由于您似乎关注设计师在项目中的角色,您还可以查看我的设计师友好 GSP 实现,这使得设计师即使使用自定义标签也可以查看 GSP 页面,这要归功于“标签通过属性声明”功能。

于 2016-06-22T03:33:43.157 回答