JSP : JSTL's tag

2020-01-25 03:15发布

Writing a JSP page, what exactly does the <c:out> do? I've noticed that the following both has the same result:

<p>The person's name is <c:out value="${person.name}" /></p>
<p>The person's name is ${person.name}</p>

标签: java jsp jstl tags
5条回答
▲ chillily
2楼-- · 2020-01-25 03:58

You can explicitly enable escaping of Xml entities by using an attribute escapeXml value equals to true. FYI, it's by default "true".

查看更多
够拽才男人
3楼-- · 2020-01-25 03:59

Older versions of JSP did not support the second syntax.

查看更多
三岁会撩人
4楼-- · 2020-01-25 04:09

As said Will Wagner, in old version of jsp you should always use c:out to output dynamic text.

Moreover, using this syntax:

<c:out value="${person.name}">No name</c:out>

you can display the text "No name" when name is null.

查看更多
劫难
5楼-- · 2020-01-25 04:14

c:out escapes HTML characters so that you can avoid cross-site scripting.

if person.name = <script>alert("Yo")</script>

the script will be executed in the second case, but not when using c:out

查看更多
地球回转人心会变
6楼-- · 2020-01-25 04:19

c:out also has an attribute for assigning a default value if the value of person.name happens to be null.

Source: out (TLDDoc Generated Documentation)

查看更多
登录 后发表回答