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

前端之家收集整理的这篇文章主要介绍了java – taglibs和变量声明在源页面的顶部生成空行前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在jsp页面中声明了一些taglibs和变量,如下所示:
<%@ 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">

我只是放了一个点来展示空行.
任何关于如何删除这些空行的想法?

解决方法

您需要告诉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>

或者,如果您希望将其配置为服务器范围而不是基于每个webapp,那么请参考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"%>

猜你在找的Java相关文章