2011-09-19 77 views
0

我有這樣的代碼:爲什麼struts迭代會在源代碼中插入空行?

<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic"%> 

<% List<String> years = new ArrayList<String>(); %> 

<logic:iterate name="ActiviteHolidayForm" property="holidayDays" id="line"> 
<% 
if(!years.contains(line.toString().split("-")[0])) 
    years.add(line.toString().split("-")[0]); 
%> 
</logic:iterate> 

的問題是,此代碼插入的在源代碼中的空白行數量龐大的(I假設等於倍代碼迭代)。有沒有辦法避免這種情況?我提到我在這段代碼之前和之後有一行。謝謝!

+1

嗨,起初我會把所有這些代碼寫在一行下,然後再試一次。這是你的意思嗎?我提到我在這個代碼之前和之後有一行代碼。「 ? –

+0

可能的重複[從jsp輸出中刪除空白](http://stackoverflow.com/questions/208736/strip-whitespace-from-jsp-output) – BalusC

+0

謝謝! _id =「line」> _和_ <%_之間的返回以及_%> _和_ _之間的返回似乎會導致此問題。 – radonys

回答

1

Struts沒有插入空行;你插入空行。回答這個問題,你就會明白爲什麼:「你在%>和</logic之間有什麼字符:iterate >?」

+0

你需要一些代碼標籤:) –

+0

我的壞,很好的捕獲。 – DwB

+0

你說得對。我修復了它。謝謝! – radonys

2

Summary of New Features in JSP 2.1 Technology

刪除空行:

<jsp-config> 
    <jsp-property-group> 
     <url-pattern>*.jsp</url-pattern> 
     <trim-directive-whitespaces>true</trim-directive-whitespaces> 
    </jsp-property-group> 
</jsp-config> 
TrimWhiteSpace

可以通過在JSP插入<%@page trimDirectiveWhitespaces="true"%>或在web.xml(Servlet 2.5的XSD)將以下部分來完成

+0

我想我的容器不支持trimDirectiveWhitespaces,因爲我得到這個:javax.servlet.ServletException Page directive有無效的屬性:trimDirectiveWhitespaces。 – radonys

相關問題