在 Eclipse 中
struts.xml
内容辅助甚至无法与 XML 中包含的 DTD 一起使用。但是,似乎我在这里缺少一些东西。我在 lib 和构建路径中也有所有必需的 jar。
struts.xml
:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
.....
您可以使用 XML 文件与 DTD 关联。
当 XML 文件与 DTD 关联时,它受到 DTD 中包含的任何结构规则的约束。要被视为有效的 XML 文件,文档必须附有 DTD,并且符合 DTD 中的所有声明。
您可以使用 XML 模式而不是 DTD 来与 XML 文档建立关联,但没有提供 XML 模式。
将 XML 文件与 DTD 或 XML 关联有两种不同的方法 模式。
- 直接关联 - XML 文件包含 其文档类型声明中的 DTD(例如 ,其中 dtdfile.dtd 是 DTD 文件的名称) 或者它包含 schemaLocation 中 XML 模式的路径 XML 文件根元素的属性(例如, ,其中 schema.xsd 是 XML 模式的名称。
- XML 目录条目 - 您可以 在 XML 目录中注册 DTD 和 XML 模式文件并关联 他们有一个代表他们的钥匙。然后您可以参考 DTD 或 XML 模式文件 Key 来自 XML 文件而不是直接引用 DTD 或 XML 架构文件。 XML 目录条目包含两部分 - 键(代表 DTD 或 XML 模式)和 URI( 包含有关 DTD 或 XML 架构位置的信息)。
可以通过 Eclipse 首选项访问 XML 目录:
下图展示了如何更改设置
参考资料:
我找到了内容辅助 dtd 问题的解决方案,
我已经从 struts2-core-2.0.1.jar 中提取了 struts-2.0-dtd 并 在 WEB-INF 中创建一个文件夹作为 dtds 并将其放置在提取的 dtd 上方 dtds 文件夹。在 struts.xml 中,我将 dtd 位置更改为
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
"/WEB-INF/dtds/struts-2.0.dtd">
它现在正在工作..我能够看到我的 struts.xml 的内容辅助