【问题标题】:how to add el code or jstl code through javascript如何通过javascript添加el代码或jstl代码
【发布时间】:2011-08-05 14:22:02
【问题描述】:

如何将 el 代码和 jstl 代码添加到动态生成的文本框中,例如 ${fn:escapeXml(param.foo)} 作为文本框的值。

【问题讨论】:

    标签: javascript jstl el


    【解决方案1】:

    这是不可能的。 Webbrowser 不理解 JSTL 和 EL 代码。它只理解 HTML/CSS/JS 代码。此 JSTL/EL 代码必须在网络服务器中运行。最好的办法是让 JavaScript 向服务器发送一个 Ajax 请求,服务器反过来运行一些带有 JSTL/EL 代码的 JSP,然后返回生成的 HTML 响应,最后让 JavaScript 显示该 HTML。

    如果您唯一的功能要求是像 fn:escapeXml() 对 JSP 那样对 JavaScript 变量进行 HTML/XML 编码,那么请前往以下问题的答案:HTML-encoding lost when attribute read from input field

    请注意,只要数据完全存储在客户端,就不存在 XSS 风险。一旦您将数据发送到服务器并且服务器将其存储并重新显示给另一个最终用户,那么就有可能存在 XSS 风险。对于 JSP 中的 fn:escapeXml(),可以使用它,因为它是重新显示它的服务器。

    【讨论】:

      【解决方案2】:

      如果您使用 javascript 生成动态文本框,那么您在客户端有页面,所以现在您没有机会替换 EL 解析..

      【讨论】:

        【解决方案3】:

        你不能那样做。 EL 和 JSTL 在服务器上执行。之后,JavaScript 在客户端上执行。 JavaScript 不能做任何事情来影响 EL 或 JSTL。

        【讨论】:

          猜你喜欢
          • 2014-02-13
          • 1970-01-01
          • 2012-06-09
          • 1970-01-01
          • 2013-11-30
          • 2017-06-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多