【问题标题】:Is it a good practice to use JSTL inside a script (javascript) tag?在脚本 (javascript) 标记中使用 JSTL 是一种好习惯吗?
【发布时间】:2014-08-05 15:37:38
【问题描述】:

我正在 Eclipse Juno 中使用 JSTL 和 Javascript 开发一个 Web 应用程序。我一直在阅读How to set the JSTL variable value in javascript? 之类的问题,即使我在 Eclipse 中出现错误,我的代码也能正常运行:

但是... 像这样使用 JSTL 和 Javascript 是个好习惯吗?

是否会导致网页渲染时性能低下?

这可以通过其他方式完成吗?

【问题讨论】:

  • JSTL = 服务器端。 Javascript = 客户端。

标签: java javascript jstl


【解决方案1】:

像这样使用 JSTL 和 Javascript 是个好习惯吗?

这不是坏习惯或好习惯。不好的做法是使用 JSTL 来控制 JavaScript 的流程,这是完全错误,因为 JSTL 在服务器端运行,而 JavaScript 在客户端运行。

是否会导致网页渲染时性能低下?

JSTL 只会帮助为当前视图生成 HTML。 JavaScript 不参与服务器端的 HTML 生成,而是在客户端,除非您使用 nodejs 或类似技术。

这可以通过其他方式完成吗?

这取决于你在做什么。访问网页时常用的数据访问方式:

  1. 应用程序服务器 (AS) 在 http://www.foo.com/bar 上收到 GET 请求
  2. AS 预处理 GET 请求(从数据库或其他数据源加载数据、预计算等)
  3. AS 为 GET 请求创建响应(应用数据生成 HTML)
  4. AS 将响应发送给客户端。
  5. 浏览器客户端呈现 HTML。

另一种方法:

  1. 应用程序服务器 (AS) 在 http://www.foo.com/bar 上收到 GET 请求
  2. AS 为 GET 请求创建响应(生成包含 JavaScript 函数的 HTML 以加载 onload 事件中的数据)。
  3. AS 将响应发送给客户端。
  4. 浏览器客户端呈现 HTML。
  5. onload 事件触发并通过 RESTful 服务加载onload 事件中的数据。这样,数据交互只在客户端处理,而数据来自服务器端。

这是处理同一问题的两种非常简单的替代方法。选择和使用哪一个完全取决于您的设计,没有明确的答案。

【讨论】:

  • 感谢@Luiggi Mendoza 的回答。在我的问题中,我用我的代码添加了一张图片。我正在使用 标记来确定是否将更改处理程序添加到代码中。那能叫控制流量吗?我在那段代码中做不好的做法吗?
  • @Jessai 是的,这是不好的做法,正如我在回答中指出的那样(这就是我发布那部分文本 =] 的原因)。对于未来的问题,不要提供您的代码图像,而是提供您当前的代码。 No te preocupes si no lo sabes formatear, alguien te ayudara un par de veces y aprendes。
  • 您能否提供线索或链接,让我可以检查如何更改代码并避免不良做法?
  • @Jessai 我不知道这样的链接。我可以告诉您,您应该将数据移动到服务器端或客户端,然后进行必要的处理。在您发布的情况下,您似乎需要将数据从 ${param.pedimentoId} 移动到 JavaScript,然后在 JavaScript 中执行验证。
猜你喜欢
  • 2013-02-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-10
  • 2015-06-23
  • 2012-08-11
相关资源
最近更新 更多