2013-08-01 108 views
3

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

文本只是显示基于如果别人:

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

的空间是comman之前一直显示。为什么?我如何摆脱空间?

回答

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<% 
} 
%> 
+0

没有注意到它,到现在为止,但有更好的办法,而不污染的代码? –