2

I tried the methods provided in Strip whitespace from jsp output but still failed. I might missed something.

Tomcat Version : Apache Tomcat/7.0.56

Servlet Specification Version : 3.0

JSP version : 2.2

  • <%@ page trimDirectiveWhitespaces="true" %> = failed
  • Jsp-config section in web.xml failed:

    <jsp-config>
      <jsp-property-group>
         <url-pattern>*.jsp</url-pattern>
         <trim-directive-whitespaces>true</trim-directive-whitespaces>
      </jsp-property-group>
    </jsp-config>
    
  • Tried trimSpaces under Tomcat/conf/web.xml but also failed:

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

Sample code:

<%@ page import="java.sql.*" %>
<%@ page import="java.io.*" %>
<%@ page import="javax.servlet.http.*,javax.servlet.*" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ page trimDirectiveWhitespaces="true" %>


<sql:setDataSource var="snapshot" driver="com.mysql.jdbc.Driver"
     url="jdbc:mysql://localhost:3306/sms"
     user="root"  password=""/>

<sql:query dataSource="${snapshot}" var="result">
SELECT * FROM students; 
</sql:query>    
<p>
<c:forEach var="row" items="${result.rows}">
   <c:out value="${row.full_name}"/>,
   <c:out value="${row.gender}"/>,
</c:forEach>
</p>

Output in Dev Tool: WhiteSpaces

My web.xml:

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns="http://java.sun.com/xml/ns/javaee"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
                          http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
      version="3.0"
      metadata-complete="true">

    <description>
      My Web App: Student Management System
    </description>
    <display-name>Student Management System</display-name>

    <!-- Define servlets -->
    <servlet>
        <servlet-name>login</servlet-name>
        <servlet-class>login</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>login</servlet-name>
        <url-pattern>/login</url-pattern>
    </servlet-mapping>


    <!-- Create Student -->
    <servlet>
        <servlet-name>create</servlet-name>
        <servlet-class>studentCreate</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>create</servlet-name>
        <url-pattern>/home/create</url-pattern>
    </servlet-mapping>

    <!-- Update Student -->
    <servlet>
        <servlet-name>update</servlet-name>
        <servlet-class>studentUpdate</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>update</servlet-name>
        <url-pattern>/home/update</url-pattern>
    </servlet-mapping>

    <!-- Delete Student -->
    <servlet>
        <servlet-name>delete</servlet-name>
        <servlet-class>studentDelete</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>delete</servlet-name>
        <url-pattern>/home/delete</url-pattern>
    </servlet-mapping>

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

    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.xhtml</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>

</web-app>
Community
  • 1
  • 1
Mezzan
  • 329
  • 1
  • 5
  • 18
  • What is the output in the browser? What is the exact value of `gender` before being sent to the `JSP` ? – Yassin Hajaj Dec 08 '15 at 11:31
  • Browser output is as expected: Karim, male, Omar, male, Hani, female, Ali, male, Salem, male, Gender values are either 'male' or 'female' – Mezzan Dec 08 '15 at 11:33
  • Maybe this is a dumb question but why are you than trying to remove these whitespaces? – Yassin Hajaj Dec 08 '15 at 11:34
  • 1
    The problem is when I need to do simple if-else these whitespaces are included. I tried using fn:replace but same results – Mezzan Dec 08 '15 at 11:36

0 Answers0