我有一些应该输出 xhtml 的 jsp 文件。它们似乎具有正确的文档类型等,但 Eclipse 未解析 xhtml 属性。例如对于根元素:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
我收到警告:“未定义的属性名称 (xmlns)”。在 Eclipse 中解决这个问题的最佳方法是什么?
编辑:这个特定文件的文档类型显然是错误的,它被设置为:
<!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) 应该是一个空元素标签。”
最佳答案
如果你要输出 xml(在我的理解中 xhtml 是 xml)那么你应该使用 jsp document 语法,例如你的
<%@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>
关于java - 在 Eclipse 中编辑 xhtml jsp 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/541335/