2009-02-12 76 views
2

我有一些应该输出xhtml的jsp文件。他们似乎有正确的doctype等,但Eclipse不解析xhtml属性。例如,对于根元素:在Eclipse中编辑xhtml jsp文件

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 

我收到警告:“未定义的属性名称(xmlns)”。在Eclipse中解决这个问题的最好方法是什么?

编辑:此特定文件的DOCTYPE是错误显然,它被设置为:

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

这并不存在明显。 Eclipse是现在抱怨的taglib标签,虽然,即:

<%@taglib prefix="s" uri="/struts-tags" %> 

生成警告:“标签(JSP:directive.taglib)应该是一个空元素标签。”

回答

2

这似乎很奇怪,我在Eclipse中使用相同的,但与PHP和它工作正常。

什么是您使用的DOCTYPE?我用

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

+0

我已经接受了这一点,因为它回答原来的问题。不要以为你知道如何解决taglib错误? – wds 2009-02-12 14:26:24

0

最后,你可以安装JBoss的工具(update site为Eclipse,guides),提供相当不错的XHTML/JSP编辑器。

4

如果你要输出中XML(在我的理解XHTML XML),那么你应该使用JSP 文件语法,比如你

<%@taglib prefix="s" uri="/struts-tags" %> 

应改为在命名空间一些顶级标签。对于我工作的所有的JSP项目都是这样

<?xml version="1.0" encoding="UTF-8" ?> 
<jsp:root version="2.0" 
     xmlns:jsp="http://java.sun.com/JSP/Page" 
     xmlns:c="http://java.sun.com/jsp/jstl/core" 
     xmlns:fmt="http://java.sun.com/jsp/jstl/fmt" 
     xmlns:fn="http://java.sun.com/jsp/jstl/functions"> 
<jsp:directive.page language="java" 
    contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"/> 
<jsp:text><![CDATA[<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">]]> 
</jsp:text> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
... 
</html> 
</jsp:root> 
+0

欢呼,不能接受两个答案(应该真的问了两个问题),但看起来像我需要的。 – wds 2009-02-12 15:39:55

1

如果你使用JSF,请检查您是否得到了查看标签的两倍。

这就是我解决了这个消息:Undefined attribute name "xmlns:ui"