【问题标题】:How do I make JSP tag files NOT ignore all whitespace?如何使 JSP 标记文件不忽略所有空格?
【发布时间】:2010-09-19 16:21:56
【问题描述】:

我真的被这个难住了。我想输出一个列表并让标记文件处理逗号、单数与复数等,但是当我显示列表时,它完全忽略了空格,所以一切都像这样一起运行。我尝试使用 HTML 实体“thinsp”、“ensp”和“emsp”(我不能使用“nbsp”,这些都必须破坏),但它们在 IE 上都非常宽,除了 Thinsp 太瘦了其他一切。

编辑: 不会工作。标签的输出根本没有空格。尽管 JSP 中的任何内容都有正常的间距。显然我可以把所有东西都放在 JSP 中,但这是在多个 JSP 上运行的代码,所以标记文件会很有意义。

【问题讨论】:

    标签: jsp whitespace jsp-tags html-entities


    【解决方案1】:

    也许将 jsp 内容放在 html <pre> 标记中? 在我看来这是正确的做法,因为列表是预先格式化的内容。

    【讨论】:

      【解决方案2】:

      所以你是说你的 标签 根本没有打印出空白? 有没有空格可以打印出来?

      您能否发布代码,以及如何使用它的简短示例?

      【讨论】:

      • 我的解决方案是将所有文本 100% 放入属性文件中。有时我必须将一些东西链接在一起,因为文本有些动态:例如“user1、user2 和 user3 做了某事”。
      【解决方案3】:

      我使用  实体而不是空格,但通常我认为这很糟糕,要么所有空格都被吃掉,一个人不得不用实体破解,要么你在生成的 HTML 代码中有很大的空间。

      【讨论】:

        【解决方案4】:

        这实际上是 EL 解析器中的一个错误,它导致 EL 表达式之间的空格被吃掉。例如

        ${bean.foo} ${bean.bar} ${bean.waa}
        

        将被打印为(假设它们返回与其属性名称完全相同的字符串值):

        foobarwaa
        

        我记得以前有人报告过这个问题,但我现在似乎找不到。到目前为止,您可以使用 JSTL c:out 标签修复它:

        <c:out value="${bean.foo} ${bean.bar} ${bean.waa}" />
        

        正确打印为:

        foo bar waa
        

        【讨论】:

        • 我想在 TD 中打印名称,它之间有 2 个空格,例如“abc de”。我正在像 一样打印。但是得到一个空白。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-03-31
        • 1970-01-01
        • 1970-01-01
        • 2023-01-03
        • 1970-01-01
        • 2011-10-02
        • 2014-05-08
        相关资源
        最近更新 更多