【问题标题】:Can not validate an HTML generated from jsp无法验证从 jsp 生成的 HTML
【发布时间】:2016-11-01 08:10:21
【问题描述】:

怎么了?我已经使用这个网站很长时间了,但现在是我终于要问一些问题的时候了。就是这样:

我正在尝试验证使用 jsp 生成的 HTML,但出现此错误:

there is no attribute "XMLNS"
<HTML xmlns="http://www.w3.org/1999/xhtml"><HEAD>

我知道我可以用类似的东西来解决它:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

但是虽然我在我的代码中使用了这个,但是生成的 HTML 变成了这样:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML xmlns="http://www.w3.org/1999/xhtml"><!-- Cabecera HTML --><HEAD>          
<META http-equiv="Expires" content="Mon, 26 Jul 1997 05:00:00 GMT">          
<META http-equiv="Last-Modified" content="Sun, 25 Jul 2004 16:12:09 GMT">
...
...

这是我的jsp代码的一部分:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html">

你们有什么想法吗?

非常感谢!

【问题讨论】:

    标签: java html validation jsp xhtml


    【解决方案1】:

    在 DOCTYPE 下方添加 htmlxmlns 标签,如下所示,然后尝试打开 HTML。

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    

    【讨论】:

    【解决方案2】:

    看起来您正在使用 JSF,它可能与一些 Mojarra 错误有关,例如https://java.net/jira/browse/JAVASERVERFACES-2453 如果您打算将 xmlns 用于 JSF 组件,最好将您的布局放到 xhtml 页面,而不是 jsp。

    【讨论】:

    • 感谢您的回答!顺便说一句,我正在使用 jsf 1.2(我们现在无法更新版本,公司规则。太糟糕了。)。如果这是一个 java 面临的错误,我想我无法获得正确呈现的 HTML 页面。我错了吗?再次感谢!
    猜你喜欢
    • 2011-03-21
    • 1970-01-01
    • 2011-05-10
    • 1970-01-01
    • 2010-10-24
    • 1970-01-01
    • 1970-01-01
    • 2019-02-03
    • 1970-01-01
    相关资源
    最近更新 更多