Grails GSP中的空间

时间:2013-08-01 09:30:51

标签: jsp grails gsp

抱歉grails / gsp noob在这里。我正在尝试修复一个在某些文本之前总是插入空格的错误。

如果出现以下情况,则只显示文本:

<g:elseif test="${index > 0 && merch <= transaction.Transactions.size() - 2}">
, ${trans.name}
</g:elseif>

在指挥官之前始终显示空格。为什么?我如何摆脱空间?

1 个答案:

答案 0 :(得分:4)

  

为什么?

因为开头elseif标记和逗号之间有空格(换行符)。

  

如何摆脱空间?

将逗号直接放在开始标记之后,而不是放在下一行。您可以通过在标签内而不是在标签之后移动换行来实现此目的:

<g:elseif test="${index > 0 && merch <= transaction.Transactions.size() - 2}"
  >, ${trans.name}</g:elseif>

或使用评论

<g:elseif test="${index > 0 && merch <= transaction.Transactions.size() - 2}"><%--
  --%>, ${trans.name}<%--
--%></g:elseif>

您可能会发现需要使用类似的技巧来压缩</g:if><g:elseif>标记之间以及<g:if>之前的空格。如果这一切看起来有点笨拙,你可能更喜欢使用Groovy代码而不是GSP标签作为条件

stuff before<%
if(something) {
  %>some content<%
} else if(index > 0 && merch <= transaction.Transactions.size() - 2) {
  %>, ${trans.name}<%
} else {
  %>something else<%
}
%>