对不起 grails / gsp noob 这里。我正在尝试修复始终在某些文本之前插入空格的错误。
文本仅基于 else if 显示:
<g:elseif test="${index > 0 && merch <= transaction.Transactions.size() - 2}">
, ${trans.name}
</g:elseif>
空格始终显示在命令之前。为什么?我如何摆脱空间?
为什么?
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<%
}
%>