3

对不起 grails / gsp noob 这里。我正在尝试修复始终在某些文本之前插入空格的错误。

文本仅基于 else if 显示:

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

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

4

1 回答 1

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<%
}
%>
于 2013-08-01T10:42:56.780 回答