呈现HTML:Serverside与客户端

时间:2012-09-11 14:18:04

标签: java jquery json jsp

我有一个复杂的发票页面,其中包含orderitems等详细信息。我将一直使用这些形式。当页面加载时我正在使用javacode(用于循环等)并以这种方式编写html。 我能做的另一件事是返回一个json对象并使用javascript来构建该表单。什么是更好的做法?

仅供参考我只使用Java,jsps,JQuery,json。

4 个答案:

答案 0 :(得分:1)

这样做有很多“选项”。对于Web表单,我更喜欢javascript与json对象的路由。 js非常灵活,非常容易实现。

答案 1 :(得分:1)

这是两种绝对不同的方法。

  1. 使用java jsp技术构建页面时,它是服务器技术。这意味着您可以控制将返回给客户端的服务器上的数据。表示这些数据是另一个问题。
  2. JavaScript 客户端技术,更灵活,更少样板,更快,但页面生成依赖于客户端javascript引擎。如果它被禁用,你可能会遇到一些问题。
  3. 如果您不依赖任何技术要求,我建议您选择javascript,因为您有案例来从服务器获取数据

    如果将数据发送到服务器,服务器技术更可取。

答案 2 :(得分:0)

我会建议使用json,jquery插件...更易于管理&清洁代码

答案 3 :(得分:0)

客户端渲染通常被认为较慢(就页面加载时间而言),就像最近Twitter switched back to server-side rendering from client-side时发现的那样,发现他们的页面在1/5时加载。

当您在具有16GB RAM的核心i7计算机上运行站点时,它不会有太大的区别;重要的是当您在移动设备或旧计算机上运行大量客户端站点时。更多javascript =更高的RAM使用率和更多浏览器工作(下载,解析,运行)。

不要误会我的意思,我是客户端渲染的忠实粉丝,因为它让我使用了令人敬畏的AngularJS。对我而言,在两者之间找到了一个很好的平衡:我想要一个具有丰富UI体验的快速加载页面。

例如,如果我正在创建一个新的列表页面;我可以从服务器获得前10个左右的结果,加载页面。然后我会在底部或者通过一些javascript调用(例如jQuery $ .ajax(),AngularJS $ http等)以异步方式加载下一个10个新闻项的页面上有一个类似“加载更多新闻文章”的按钮到JSON服务。

相反:

  • 仅限客户端:通过javascript& amp;加载最初的10个新闻项目JSON,正在加载您的页面。单击“加载更多新闻文章”按钮,使用相同的服务,然后根据请求加载其他新闻项。

  • 仅限服务器端:从服务器加载包含该页面的初始10个新闻项。单击“加载更多新闻文章”按钮会触发页面刷新,然后从服务器返回接下来的10篇新闻文章。