【问题标题】:jspx script element on GlassFish v3GlassFish v3 上的 jspx 脚本元素
【发布时间】:2010-01-13 17:06:01
【问题描述】:

.war 由 GlassFish v3 提供。我正在尝试从我的 jspx 中包含一个 javascript 文件。

<script type="text/javascript" src="/base/interface/Service.js"></script>

我在我的 http 响应中得到以下信息

<script src="/base/interface/Service.js" type="text/javascript" />

问题是它应该包含&lt;/script&gt; 标签。我相信这就是为什么它适用于 Chrome,但不适用于 Firefox 或 IE。知道如何强制&lt;script&gt;&lt;/script&gt;

更新:不确定这是否相关,但这是我的 jspx 文件的开头

<jsp:root version="2.0"
      xmlns:jsp="http://java.sun.com/JSP/Page"
      xmlns:c="http://java.sun.com/jsp/jstl/core"
      xmlns:fmt="http://java.sun.com/jsp/jstl/fmt"
      xmlns:form="http://www.springframework.org/tags/form"
      xmlns:spring="http://www.springframework.org/tags"
      xmlns="http://www.w3.org/1999/xhtml">

    <jsp:output doctype-root-element="html"
            doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
            doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"/>
    <jsp:directive.page contentType="text/html" pageEncoding="UTF-8"/> 
...

【问题讨论】:

    标签: javascript jsp glassfish java-ee-5 jspx


    【解决方案1】:

    我使用了&lt;script ...&gt;&lt;jsp:text&gt; &lt;/jsp:text&gt;&lt;/script&gt; 并保留了结束标记。我认为这很难看,所以如果有人有更好的答案,我一定会感兴趣。

    【讨论】:

    • 不管怎样,如果您无法使用 Websphere Application Server,这是 IBM 官方认可的解决方案
    【解决方案2】:

    不幸的是,jspx 以“最小化”空元素而闻名。在不向呈现的 HTML 添加空格的情况下防止最小化的一种方法是插入注释。例如:

    <script ...><!-- keep open/close tags --></script>
    

    不过还是很丑。

    【讨论】:

    • 适用于 Tomcat (6) 但不适用于 Websphere (7)。
    【解决方案3】:

    一个可能更简洁的解决方案是创建一个输出正确 HTML 的自定义标记库,例如:

    <m:htmlScript type="text/javascript" src="/js/jquery-1.4.4.min.js"/>
    

    制作:

    <script type="text/javascript" src="/js/jquery-1.4.4.min.js">
    

    另一种选择是将标签封装在 CDATA 中:

    <![CDATA[<script type="text/javascript" src="/js/jquery-1.4.4.min.js"></script>]]>
    

    我在这里更详细地介绍了这个主题: How to produce valid HTML with JSPX? (not XHTML)

    【讨论】:

      【解决方案4】:

      又一个丑陋的解决方案:

      <tag>${null}</tag>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-12-06
        • 2010-12-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多