Spring HTML ESCAPE and ESCAPE BODY Tags (<spring:htmlEscape> and <spring:escapeBody>)

Spring Tag Library

Spring MVC provides a JSP tag library (Spring Form) for making it easier to bind form elements to Model data. Spring Framework also provides you with some tags for evaluating errors, setting themes and outputting internationalized messages.

also read:

Syntax to use Spring tag library

	<%@taglib  uri="http://www.springframework.org/tags" prefix="spring">

htmlEscape and escapeBody tags

-This tag sets the default HTML escape value for the current page.The default is “false”.We can also set a “defaultHtmlEscape” web.xml context-param.A page-level setting overrides a context-param

-This tag is used to escape its enclosed body content, applying HTML escaping and/or JavaScript escaping. It is used to explicitly specify whether to apply HTMlL escaping or not. If not set, a page-level default (e.g. from the HtmlEscapeTag) or an application-wide default (the “defaultHtmlEscape” context-param in web.xml) is used.

Example for and tags

1.Modify the web.xml to configure the Dispatcher Servlet.
web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 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_2_5.xsd">
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/applicationContext.xml</param-value>
    </context-param>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>2</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>*.htm</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>
        <welcome-file>index.htm</welcome-file>
        </welcome-file-list>
    </web-app>

2.Create an dispatcher-servlet.xml file which contains all the configuration beans to handle the user requests.It handles the user request and dispatches to respective controllers.

dispatcher-servlet.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:p="http://www.springframework.org/schema/p"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">

    <bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"/>

  <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
         <property name="mappings">
            <props>
                <prop key="index.htm">indexController</prop>
            </props>
        </property>
    </bean>

    <bean id="viewResolver"
          class="org.springframework.web.servlet.view.InternalResourceViewResolver"
          p:prefix="/WEB-INF/jsp/"
          p:suffix=".jsp" />

    <!--
   The Index Controller
    -->

	 <bean name="indexController"
          class="org.springframework.web.servlet.mvc.ParameterizableViewController"
          p:viewName="index" />

</beans>

3.Create a Jsp file index.jsp which contains the spring htmlEscape and escapeBody tags. In this example both tags are set with different cominations of values(“true”,”false”).

index.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib uri="http://www.springframework.org/tags" prefix="spring"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Welcome to Spring Web MVC project</title>
    </head>

    <body bgcolor="#DDDDDD">

          <h3>htmlEscape is false </h3>
         <h3>escapeBody is false </h3>
          <spring:htmlEscape defaultHtmlEscape="false">
               <spring:escapeBody htmlEscape="false">

            <h5>  less than < </h5>
            <h5>  greater than > </h5>
              </spring:escapeBody>
          </spring:htmlEscape>

 <h3>htmlEscape is false </h3>
         <h3>escapeBody is true </h3>
          <spring:htmlEscape defaultHtmlEscape="false">
               <spring:escapeBody htmlEscape="true">

            <h5>  less than < </h5>
            <h5>  greater than > </h5>
              </spring:escapeBody>
          </spring:htmlEscape>

 <h3>htmlEscape is true </h3>
         <h3>escapeBody is false </h3>
          <spring:htmlEscape defaultHtmlEscape="true">
               <spring:escapeBody htmlEscape="false">

            <h5>  less than < </h5>
            <h5>  greater than > </h5>
              </spring:escapeBody>
          </spring:htmlEscape>

 <h3>htmlEscape is true </h3>
         <h3>escapeBody is true </h3>
          <spring:htmlEscape defaultHtmlEscape="true">
               <spring:escapeBody htmlEscape="true">

            <h5>  less than < </h5>
            <h5>  greater than > </h5>
              </spring:escapeBody>
          </spring:htmlEscape>

    </body>
</html>

4.Building and running the application
Output

Access page:http://localhost:8084/HtmlEscape/index.htm

also read:

Comments

comments

About Krishna Srinivasan

He is Founder and Chief Editor of JavaBeat. He has more than 8+ years of experience on developing Web applications. He writes about Spring, DOJO, JSF, Hibernate and many other emerging technologies in this blog.

Trackbacks

  1. […] BIND and NESTEDPATH Tags (<spring:bind> and <spring:nestedPath>)Spring HTML ESCAPE and ESCAPE BODY Tags (<spring:htmlEscape> and <spring:escapeBody>) Spring HTML TRANSFORM Tag (<spring:transform>)Spring MVC – DispatcherServlet ExampleSpring […]

Speak Your Mind

*

Close
Please support the site
By clicking any of these buttons you help our site to get better