2011-09-19 45 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

相关问题