Ich versuche eine vollständige XHTML-Transitional-Validierung meiner JSP-Ausgabe zu erreichen, aber ich habe einen Haken gefunden. Die Oberseite des Kopf sieht wie folgt aus:Whitespace vor XML-Deklaration von 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">
Es ist mit einer Erklärung enthalten, die wie folgt aussieht:
<jsp:include>
<jsp:attribute name="page"><owportal:page name="/style/portal/header.jsp" /></jsp:attribute>
</jsp:include>
Die < owportal: Seite > Tag überprüft ein paar verschiedene Wege, damit wir überschreiben Sie es bei Bedarf mit einem projektspezifischen Header. Das Problem dabei ist, dass die OWPORTAL-Taglib deklariert werden muss, bevor sie verwendet werden kann, indem vor der XML-Deklaration eine Leerzeile eingefügt wird und eine Validierungswarnung ausgegeben wird.
Ich habe versucht, mit jsp: generate an XML declaration ohne viel Glück ausgegeben. Kann mich jemand wissen lassen, ob ich hier richtig liege?
Update:
Zur Zeit dieses so etwas wie ich versuche
<%@ 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>...
Und ich erhalte eine Fehlermeldung "Ungültige Standard-Aktion" am < jsp: root > Linie. Nicht die hilfreichste Fehlermeldung. Klingt, als ob ich das Tag irgendwie falsch verwende. Ich lasse Tomcat 6 laufen, also sollte es kein Problem mit der JSP-Version sein. Kann jemand sehen, was ich falsch mache? Ist < jsp: root > gemeint, um zu wickeln <html>?
Ja, ich sehe vielleicht zwei Probleme: XML-Dokumente können nur ein Wurzelelement haben; hier hast du zwei. geht in in der Tat. Außerdem sieht es so aus, als ob Sie die alte 1.x-Syntax verwenden, um die Taglib zu deklarieren. Ich denke, es gibt einige Äquivalente für das, was Sie wollen oder müssen. Und das geht auch drinnen. –