Grails GSP中的空格

3
抱歉,我是一个Grails/GSP的新手。我试图修复一个问题,即在某些文本前始终插入空格。
该文本仅基于“else if”条件显示:
<g:elseif test="${index > 0 && merch <= transaction.Transactions.size() - 2}">
, ${trans.name}
</g:elseif>

每次在逗号前面都会显示一个空格。为什么会这样?我该如何去除这个空格?
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<%
}
%>

直到现在才注意到,但是有没有更好的方法而不会污染代码呢? - Hoàng Long

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接