在jsps中自动修剪空格

时间:2009-12-03 20:39:00

标签: jsp trim

有一种很好的方法可以在不使用以下技术的情况下修剪JSP生成的空格:

  • trimSpaces jasper指令:可能会因占用你想要的空间而破坏你的布局
  • 要使用 JSP注释修剪的周围区域,注释掉空格。这使得JSP更难编辑并且看起来很糟糕

我想知道是否有人知道在JSP中有选择地修剪空间的更好方法

修改:我现在所做的就是将所有标签放在一个像这样的标签上:

<c:forEach var="date" items="${model.list}"><%--
--%><c:set var="dateStr"><ct:dateFormat date="${date.startDate}"/></c:set><%--
--%><option value="${dateStr}">${dateStr}</option><%--
--%></c:forEach>

4 个答案:

答案 0 :(得分:2)

你在这里处理的是最不可思议的选择。我会选择jasper trimSpaces 指令,如果你的布局有空白,你可以策略性地插入这样的空格:

<c:out value=" " />

或者像这样:

${ }

修剪空白的其他选项包括:

  • 编写一个servlet过滤器,将空格修剪为后期渲染步骤(这必须足够聪明,不能修剪“重要”空格)。
  • 将所有jsp标记放在一行上(只是开玩笑,不要这样做!)

答案 1 :(得分:2)

  

在你想要的地方吃饭空间

你能举个例子吗?我真的无法想象这样的需要。

你的意思是在textareas里面吗?内部HTML <pre>元素?内部CSS white-space:pre样式元素? Tomcat的trimSpaces设置应该很好地考虑它们。

或者你的意思是布局的空格?好吧,他们真的不属于那里。请考虑使用CSS边距/填充属性替换并保留trimSpaces设置。

答案 2 :(得分:0)

查看来自JSOS的修剪过滤器:http://www.servletsuite.com/servlets/trimflt.htm

答案 3 :(得分:0)

尝试:http://coldjava.hypermart.net/servlets/trimflt.htm 我自己将它作为servlet过滤器实现,是一种魅力。

另一种选择是:htmlcompressor(google it,我只能提供1个链接atm ...)

htmlcopressor的taglib允许你使用包装器,也有css和js的压缩器。