2013-08-01 58 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

沒有注意到它,到現在爲止,但有更好的辦法,而不污染的代碼? –