2008-10-28 62 views
8

我真的难住这一个。我想输出一个列表并让标记文件处理逗号,单数对复数等,但是当我显示列表时,它完全忽略了空格,因此一切都运行完毕。我尝试过使用HTML实体“thinsp”,“ensp”和“emsp”(我不能使用“nbsp”,这些都必须打破),但它们在IE上除了thinsp之外都非常宽一切。如何让JSP标记文件不忽略所有空格?

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

回答

2

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

0

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

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

+0

我的解决办法只是把所有的文字100%到属性文件。有时我必须链接在一起,因为文本是有些动态的:例如,“user1,user2和user3做了些什么”。 – 2009-03-31 01:09:10

0

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

13

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

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

会得到打印为(假定它们作为其属性名称是返回同样的字符串值):

foobarwaa 

我记得,这个问题是在什么地方的报道,但我不能似乎现在发现它。至于现在,你可以通过使用JSTL c:out标签解决它:

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

作为正确获得印刷:

foo bar waa