0

这是我一直在思考的事情。页面是未映射的纯 HTML 和 JavaScript 并且数据都是从 Struts 2 中提取的 JSON 的设计的优点和缺点是什么?没有动作映射意味着相对页面引用,因此我们没有太多使用 Struts 2 URL 标签或任何其他标签。从字面上看,我们需要从模型中获取的任何信息都可以通过 JSON 检索或使用自定义拦截器进行处理。例如,会话管理通常在 Interceptor 中处理。我假设 JavaScript 可以从此处的标头获取信息,这可能不正确。如果我错了,请告诉我。即使我错了,人们仍然可能使用隐藏控件或其他方式来隐藏此类信息。无论如何,

简而言之,最终结果似乎是一个纯 HTML / JQuery UI,一个纯 UI 开发人员、页面设计和可用性专家无需了解 Java 就可以使用它。一个人的唯一目的是从 UI 端管理用户体验。通过使用选项卡、菜单弹出窗口等,页面可能永远不需要任何东西,除了可以增强浏览器缓存的 JSON 数据。这个想法还极大地减少了对 Web 服务的需求,因为您已经有了一个清晰解耦的模型和视图。我们不需要 OGNL 或 JSTL,也不需要处理值堆栈或类型转换器。如果您使用的是 Hibernate,我已经看到了将 Hibernate 实体直接转换为 JSON 的库。

我在这里完全不喜欢我的摇滚吗?是否有可能获得 Servlet 和 JSP 所承诺的内容而无需繁琐?

4

1 回答 1

0

我不确定你的最后一句话是什么意思。不确定您所说的“减少对 Web 服务的需求”是什么意思,因为您所描述的是返回 JSON 的 Web 服务。

除此之外; 当然,您可以通过 JavaScript 在客户端执行所有操作,并且只从 S2 获取 JSON。如果您的客户端框架支持它,我真的不认为有任何缺点,只要您的应用程序不需要特定于数据的书签或者您使用的是支持它的 JS 库。

缓存的级别可能会稍高一些,但是一个设计良好的非 JSON 应用程序无论如何都可以做相当多的缓存,所以我不确定你会从中得到多少提升——但是当然有些。

根据浏览器的不同,您可能会遇到关于内存使用、泄漏等的各种问题,这些问题可能难以(或不可能)追踪或解决,但取决于您应用的使用模式和用户的浏览器偏好,这可能永远不会成为问题。

使用现代浏览器和现代客户端 JS 框架,这种应用程序是完全可能的,并且正在越来越多地完成——这不是一个独特的想法。

于 2012-05-02T20:29:48.320 回答