我正在尝试对我的 JSP 输出进行完整的 XHTML 过渡验证,但遇到了障碍。标题的顶部如下所示:
<?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>
<owportal:page> 标记检查几个不同的路径,以便我们可以在需要时使用特定于项目的标头覆盖它。这样做的问题是 owportal taglib 需要在使用之前进行声明,在 XML 声明之前插入一个空行并导致验证警告。
我曾尝试使用 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>...
我在 <jsp:root> 行收到错误“无效的标准操作”。不是最有用的错误消息。听起来我可能以某种方式错误地使用了标签。我正在运行 Tomcat 6,所以 JSP 版本应该没有问题。谁能看到我做错了什么?<jsp:root> 是否意味着环绕 <html>?