8

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

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

4

4 回答 4

14

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

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

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

foobarwaa

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

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

正确打印为:

foo bar waa
于 2010-01-25T18:08:24.630 回答
2

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

于 2008-10-28T23:53:44.207 回答
1

我使用&#32;实体而不是空间,但通常我认为这很糟糕,要么所有的空格都被吃掉,要么你必须用实体破解,或者你在生成的 HTML 代码中有很大的空间。

于 2010-01-25T16:07:11.183 回答
0

所以你是说你的标签根本不打印空白?是否有任何空白可以打印出来?

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

于 2009-03-18T02:26:28.293 回答