问题 taglibs和变量声明在源页面的顶部生成空行


我已经声明了一些taglib和 variables 在我的 jsp 页面如下:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

<c:set var="site" scope="session" value="${site}"/>
<c:set var="thumb" scope="session" value="${thumbnail}"/>
<c:set var="geoCode" scope="session" value="${geoCode}"/>
...
<fmt:setLocale value="${local}" />
<fmt:setBundle basename="MessagesBundle" />
<!DOCTYPE html>
<head>
    <meta charset="utf-8">
...

当我运行应用程序然后查看源代码时,我在源页面顶部看到空白的新行:

.







<!DOCTYPE html>
<head>
    <meta charset="utf-8">

我刚放了一个 dot 展示空行。 关于如何删除这些空行的任何想法?


8132
2017-11-20 15:24


起源



答案:


您需要告诉JSP servlet修剪指令空格。您可以通过向webapp添加以下条目来实现此目的 web.xml

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

或者,如果您想在服务器范围内配置它而不是基于每个Web应用程序,请参阅有关此问题的servletcontainer文档。你没有告诉你正在使用哪一个,但是在Tomcat的情况下,它是一个编辑它的问题 /conf/web.xml 添加以下条目到 <servlet> JSP servlet的声明:

<init-param>
    <param-name>trimSpaces</param-name>
    <param-value>true</param-value>
</init-param>

无关 对具体问题,你的 @page 包含很多默认和重复的混乱。它可以简化如下:

<%@page pageEncoding="UTF-8"%>

13
2017-11-20 15:40



简化 @Page 正如你所描述的那样也有助于实现我想要的。 TNX。 - tokhi
别客气。 - BalusC
有没有办法做到这一点,针对jsp页面,但当.jsp不再在url中?例如在春季应用程序中,网址将非常像,/ myapp等 - chrismarx


答案:


您需要告诉JSP servlet修剪指令空格。您可以通过向webapp添加以下条目来实现此目的 web.xml

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

或者,如果您想在服务器范围内配置它而不是基于每个Web应用程序,请参阅有关此问题的servletcontainer文档。你没有告诉你正在使用哪一个,但是在Tomcat的情况下,它是一个编辑它的问题 /conf/web.xml 添加以下条目到 <servlet> JSP servlet的声明:

<init-param>
    <param-name>trimSpaces</param-name>
    <param-value>true</param-value>
</init-param>

无关 对具体问题,你的 @page 包含很多默认和重复的混乱。它可以简化如下:

<%@page pageEncoding="UTF-8"%>

13
2017-11-20 15:40



简化 @Page 正如你所描述的那样也有助于实现我想要的。 TNX。 - tokhi
别客气。 - BalusC
有没有办法做到这一点,针对jsp页面,但当.jsp不再在url中?例如在春季应用程序中,网址将非常像,/ myapp等 - chrismarx