Six Cool New JSP and Servlet Features
Subject:   <c:out/> and escaping
Date:   2004-02-12 10:14:45
From:   bperry
Response to: and escaping

I will add to your helpful comment:
Using Tomcat 5.x, include the following code in a JSP:
<c:set var="myValue" value="a tag </tag>" />
<c:out value="${myValue}" /></ br>

This will produce the following browser output in the client:

a tag </tag></ br>
a tag </tag>

Meaning that the client browser will output "</tag>" when the c:out element is used (because the "</ >" characters are escaped); however, including the EL statement in template text will cause the tag to be added to the underlying template code.

Full Threads Newest First

Showing messages 1 through 3 of 3.

  • <c:out/> and escaping
    2004-02-12 10:18:37  bperry [View]

    Let me edit that message above because it did not display properly; here's the browser output of the two statements when select "View Source" in the browser:

    a tag </tag></ br>
    a tag </tag>
    • <c:out/> and escaping
      2004-02-12 10:22:17  bperry [View]

      Oh well, that didn't display properly either...The c:out element outputs the character entities and the "EL in template" form outputs the actual tag in this case, which ends up embedded in the underlying HTML.
      • <c:out/> and escaping
        2004-05-22 07:24:55  wanjm [View]

        but when i write the sentence in a jsp file.
        if displays :${myValue} ${myValue} when i use the sentence

        <%@ taglib uri="" prefix="c" %>

        but when i use
        <%@ taglib uri="" prefix="c" %>
        it displays a tag </tag> ${myValue} on the screen.
        could you tell me the reason.
        i am using tomcat 5.0.16;