1

Grails 具有用于服务器端模板的 GSP。这一切都很好,但是一旦数据到达网络浏览器,它就已经“熟”了。如果我想进行 AJAX 调用以更新模型、获取更新的模型,然后更新 UI,该怎么办?GSP 模板现在对我来说没用了。

我宁愿不刷新页面。人们通常在这里做什么?对服务器端和客户端都使用模板框架?

使用 GSP 和 JQuery 模板之类的东西似乎过于复杂。

我想这个问题不是特定于 Grails,而是一般的网络。

4

2 回答 2

2

我相信人们开始使用客户端框架来管理不断增长的客户端需求(从骨干网开始,到 Angular/Ember 结束)。

如果您的需求不是那么严格,那么您可能想要使用客户端侧的太阳穴,如车把小胡子下划线

您可能有一个 gsp 文件,其中包含页面上包含的各种客户端模板,然后只需使用 javascript 使用示例数据或来自服务器的数据在页面上绘制这些模板。

我不同意 gsp 模板在这种情况下会丢失,除非您正在构建完全动态的体验或单页应用程序,而 grails 通常不是这种情况。

编辑:

我刚刚有一个项目,当我不得不考虑是否需要一起迁移到客户端模板时,我正在使用骨干网。在一种情况下,拥有服务器端模板会更快。我有搜索表单,并通过 Backbone 模型检索搜索结果,因此我可以根据模型数据绘制纯下划线模板,或者让服务器向我发送回 html 以包含在页面上。好吧,那些使用 Backbone 的人已经尖叫着说我必须使用下划线模板,但是因为我必须能够在新选项卡中打开搜索结果并以 Backbone 的方式这样做,有时间限制,不是选择,而是如果请求是 xhr 我为 Backbone 发送了 html 模板,否则我确实渲染了整页。虽然如果我有更多时间,我会只使用客户端模板来做所有事情。

我也使用 Angular 并且只使用客户端模板。如果我想使用服务器为 Angular 构建模板,它应该是“我什至现在都不知道”。

于 2013-09-10T00:30:08.220 回答
0

当我们遇到像你这样的情况时,我们使用 ajax,在我们的操作中,我们渲染 gsp 模板并在 ajax 回调中返回更新的 html。客户端,我们只是用我们从服务器收到的新 html 替换适当的元素。我们将视图设计为非常模块化,以便我们可以通过 ajax 用渲染模板替换非常精细的部分。

于 2015-09-15T18:49:50.160 回答