Пробелы перед объявлением XML из JSP
Я пытаюсь добиться полной XHTML-проверки моего вывода JSP, но я столкнулся с проблемой. Верхняя часть заголовка выглядит так:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Он включен в утверждение, которое выглядит так:
<jsp:include>
<jsp:attribute name="page"><owportal:page name="/style/portal/header.jsp" /></jsp:attribute>
</jsp:include>
Тег
Я попытался с помощью jsp:output для генерации декларации XML без особой удачи. Кто-нибудь может дать мне знать, если я на правильном пути?
Обновить:
В настоящее время я пытаюсь что-то вроде этого
<%@ taglib uri="/WEB-INF/yadda/yadda" prefix="yadda" %>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" xmlns="http://www.w3.org/1999/xhtml" version="2.0">
<jsp:output omit-xml-declaration="false" doctype-root-element="html"
doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
</jsp:root>
<html>...
И я получаю сообщение об ошибке "Недопустимое стандартное действие" в строке
1 ответ
Если я вас правильно понимаю, то вы пытаетесь включить этот jsp:include в самый верх JSP, но в процессе вы заставляете JSP выводить несколько бит пробелов вверху перед преамбулой XML.
В таких случаях я только что убедился, что у JSP нет пробелов:
<jsp:include><jsp:attribute name="page"><owportal:page name="/style/portal/header.jsp" /></jsp:attribute></jsp:include>[your content continues here, not on next line!]...
Но я думаю, что вы как бы задаете другой вопрос - как сказать JSP вывести декларацию XML. Чтобы сделать это, вы хотите начать с чего-то вроде этого (предполагая, что здесь вы используете недавнюю спецификацию JSP, такую как 2.1)...
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" xmlns="http://www.w3.org/1999/xhtml" version="2.1">
<jsp:output
omit-xml-declaration="false" doctype-root-element="html"
doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"/>
...
Это более правильный способ обработки вывода XML из файла JSP(X) - более явный.