回答:
これを実現するtrimWhiteSpacesディレクティブがあります。
JSPで:
<%@ page trimDirectiveWhitespaces="true" %>
または、jsp-configセクションでweb.xml(これはサーブレット仕様2.5以降で機能することに注意してください):
<jsp-config>
<jsp-property-group>
<url-pattern>*.jsp</url-pattern>
<trim-directive-whitespaces>true</trim-directive-whitespaces>
</jsp-property-group>
</jsp-config>
残念ながら、必要なスペースがある場合は、それも取り除く必要がある場合があるため、場所によっては改行しないスペースが必要になる場合があります。
web.xml
:<init-param> <param-name> trimSpaces </ param-name> <param-value> true </ param-value> </ init-param>
servletcontainerがJSP 2.1 trimDirectiveWhitespaces
プロパティをサポートしていない場合は、そのJspServlet
ドキュメントで初期化パラメータを調べる必要があります。たとえばTomcatでは、TomcatのtrimSpaces
init-paramをtrue
in for JspServlet
に設定することによっても構成できます/conf/web.xml
。
<init-param>
<param-name>trimSpaces</param-name>
<param-value>true</param-value>
</init-param>
完全に異なる代替はJTidyFilterです。空白を削除するだけでなく、HTMLを正しいインデントでフォーマットします。
trimDirectiveWhitespacesは、JSP 2.1以降、またはケースまたはTomcat、Tomcat 6をサポートするサーブレットコンテナーでのみサポートされます(Tomcat 6.0.10などの一部のバージョンでは、適切に実装されていません。他のバージョンについては不明です)。ここにtrimDirectiveWhitespacesの詳細があります。
http://www.oracle.com/technetwork/articles/javaee/jsp-21-136414.html
そしてここ
直接あなたが求めているものではありませんが、私が役立つのは、HTMLコメントタグをjspタグの周りに巧妙な方法で配置し、サーブレットタグ(<%%>)内に空白を配置することです。
${"<!--"}
<c:if test="${first}">
<c:set var="extraClass" value="${extraClass} firstRadio"/>
</c:if>
<c:set var="first" value="${false}"/>
${"-->"}<%
%><input type="radio" id="input1" name="dayChooser" value="Tuesday"/><%
%><label for="input1" class="${extraClass}">Tuesday</label>
さらに一歩進んで、ビルド時にhtmlタグ間の改行(復帰)を削除することもできます。
例えば変更:
<p>Hello</p>
<p>How are you?</p>
に:
<p>Hello</p><p>How are you?</p>
それを行うには、を使用して次のようmaven-replacer-plugin
に設定しpom.xml
ます。
<plugin>
<groupId>com.google.code.maven-replacer-plugin</groupId>
<artifactId>replacer</artifactId>
<version>1.5.3</version>
<executions>
<execution>
<id>stripNewlines</id>
<phase>prepare-package</phase>
<goals>
<goal>replace</goal>
</goals>
<configuration>
<basedir>${project.build.directory}</basedir>
<filesToInclude>projectname/WEB-INF/jsp/**/*.jsp</filesToInclude>
<token>>\s*<</token>
<value>><</value>
<regexFlags>
<regexFlag>MULTILINE</regexFlag>
</regexFlags>
</configuration>
</execution>
</executions>
</plugin>
これにより、build-directoryのJSPのみが変更され、ソースのJSPは変更されません。
<filesToInclude>
JSPが置かれているパス()を調整する必要がある場合があります。
例として、トリム機能を使用してください
fn:trim(string1)
tomcat catalina.properties
ファイルを追加/編集
org.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false
参照:https : //confluence.sakaiproject.org/display/BOOT/Install+Tomcat+7