如何使JSP标记文件不忽略所有空格?

Tim*_*man 8 whitespace jsp jsp-tags html-entities

我真的很难过这个.我想输出一个列表并让标签文件处理逗号,单数与复数等,但是当我显示列表时它完全忽略了空格,所以allrunstogetherlikethis.我尝试使用HTML实体"thinsp","ensp"和"emsp"(我不能使用"nbsp",这些必须要破坏),但它们在IE上都非常宽,除了thinsp,这太瘦了在其他一切.

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

Bal*_*usC 14

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

${bean.foo} ${bean.bar} ${bean.waa}
Run Code Online (Sandbox Code Playgroud)

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

foobarwaa
Run Code Online (Sandbox Code Playgroud)

我记得以前在某个地方报道了这个问题,但我现在似乎无法找到它.到目前为止,您可以使用JSTL c:out标记来修复它:

<c:out value="${bean.foo} ${bean.bar} ${bean.waa}" />
Run Code Online (Sandbox Code Playgroud)

正确打印为:

foo bar waa
Run Code Online (Sandbox Code Playgroud)


ale*_*x77 2

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