2016-06-29 41 views
2

这是怎么回事?我一直在使用这个网站很长一段时间,但现在是时候让我终于问一些问题了。这里有云:无法验证从jsp生成的HTML

我试图验证具有一个jsp genereted的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"> 
... 
... 

这个我s部分我的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"> 

你们有什么想法吗?

非常感谢!

回答

0

在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"> 
+0

感谢您的回答!我有一个问题:我应该如何处理命名空间(我的意思是这些东西:xmlns:ui =“http://java.sun.com/jsf/facelets” xmlns:f =“http:// java .sun.com/jsf/core“ xmlns:h =”http://java.sun.com/jsf/html“ – James

+0

它定义了一个XML Namespace。 在您的示例中,名称空间前缀是”ui“, “f”,“h”和名称空间URI是“java.sun.com/jsf/facelets","java.sun.com/jsf/core”,“java.sun.com/jsf/html” 在文档中,您会看到以下元素:等。请查看名称空间上的这些链接说明:http://www.w3schools.com/tags/tag_html.asp,http:// stackoverflow .com/questions/6322127/can-not-the-tag-library-descriptor-for-http-java-sun-com-jsf-facelets,https://www.sitepoint.com/xml-namespaces-explained/ –

0

它看起来像你使用JSF,它可能涉及到一些莫哈拉错误,例如, https://java.net/jira/browse/JAVASERVERFACES-2453 如果您打算为JSF组件使用xmlns,最好将您的布局放到xhtml页面,而不是jsp。

+0

感谢您的回答!顺便说一句,我使用jsf 1.2(我们现在不能更新版本,公司规则。它很糟糕。)。如果这是一个java面临的错误,我想我无法得到正确的呈现HTML页面。我错了吗?再次感谢! – James