JSP.2.6 Соглашения по Кавычкам и Escape-Последовательностям
В JSP-страницах применяются следующие соглашения по кавычкам:
Кавычки в Элементах Скриптинга
Литерал %> закавычивается %\>
Кавычки в Шаблонном Тексте
Литерал <% закавычивается <\%
Закавычивание Атрибутов
Закавычивание выполняется независимо от того, является значение атрибута литералом или выражением атрибута этапа запроса. Закавычивание может использоваться в значениях атрибутов независимо от того, ограничены они одинарными или двойными кавычками. Это выполняется только так, как описано ниже:
- ‘ записывается \’. Это необходимо делать внутри значения атрибута, ограниченного одинарными кавычками.
- “ записывается \”. Это необходимо делать внутри значения атрибута, ограниченного двойными кавычками.
- \ записывается \\
- %> записывается %\>
- <% записывается <\%
- Мнемоники ' и " могут использоваться для ввода одинарных и двойных кавычек..
Примеры
В следующей строке показаны неправильные значения атрибутов:
- <mytags:tag value="<%= "hi!" %>" />
В следующей строке дан верный скриптлет, но с, возможно, неожиданным результатом. Результат будет “Joe said %\>”, а не “Joe said %>”:
- <%= "Joe said %\\>" %>
В следующих строках - правильное закавычивание:
- <%= "Joe said %/>" %>
- <%= "Joe said %\>" %>
- <% String joes_statement = "hi!"; %>
<%= "Joe said \"" + joes_statement + "\"." %>
<x:tag value='<%="Joe said \\"" + joes_statement + "\\"."%>'/>
- <x:tag value='<%= "hi!" %>' />
- <x:tag value="<%= \"hi!\" %>" />
- <x:tag value='<%= \"name\" %>' />
- <x:tag value="<%= \"Joe said 'hello'\" %>"/>
- <x:tag value="<%= \"Joe said \\\"hello\\\" \" %>"/>
- <x:tag value="end expression %\>"/>
- <% String s="abc"; %>
<x:tag value="<%= s + \"def\" + \"jkl\" + 'm' + \'n\' %>" />
<x:tag value='<%= s + \"def\" + "jkl" + \'m\' + \'n\' %>' />
Представление XML
Соглашения по кавычкам отличаются от соглашений XML. См. .