Re: вопрос Гаррета Уилсона: «Так как мне вывестидля HTML 5 с синтаксисом документа JSP (JSPX)?Это вообще возможно? "
Это может быть сделано с jsp:text
. (Это не может быть сделано с jsp:output
).
Текущая версия спецификации JSP - версия спецификации JavaServer Pages 2.3.(Реализовано в текущей версии Java EE 8 (Tomcat 9.x), а также в предыдущей версии Java EE 7 (Tomcat 8.x)).Цитата из главы JSP.5.6 "":
Свойства doctype-root-element
, doctype-system
и doctype-public
позволяют автору страницы указывать, что DOCTYPE будет автоматически генерироваться в прологе XML вывода. Без этих свойств DOCTYPEпотребуется выводить вручную через элемент <jsp:text>
перед корневым элементом документа JSP, что неудобно.
DOCTYPE должен автоматически выводиться тогда и только тогда, когда в переводе появляется элемент doctype-system
единица как часть действия <jsp:output>
. doctype-root-element
должен появляться и должен появляться только в том случае, если появляется свойство doctype-system
или возникает ошибка перевода. Свойство doctype-public
является необязательным, но не должно появляться, если не указано *Появляется свойство 1021 *, или должна произойти ошибка перевода.
Пока кто-нибудь не попросит комитет по спецификации о большей гибкости здесь, и не выйдет новая версия спецификации, это все, что у нас есть.
Пример использования jsp:text
:
<?xml version="1.0" encoding="UTF-8" ?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.3">
<jsp:directive.page contentType="text/html" />
<jsp:text><!DOCTYPE html></jsp:text>
<html lang="en">
<head>
<meta charset="${pageContext.response.characterEncoding}"/>
<title>Hello world</title>
</head>
<body>
<h1>Hello world!</h1>
</body>
</html>
</jsp:root>