元素类型“struts-config”的内容必须匹配“(datasource?,form-beans?
我写了一个带有登录页面和注册页面的小型struts应用程序 如果我登录,我会得到一个成功页面。注册时,我会检查密码和确认密码的Fileds如果他们匹配我得到一个成功页面别人失败页面。元素类型“struts-config”的内容必须匹配“(datasource?,form-beans?
我没有使用任何数据库。我写了所需要的表单bean,那些动作类。
在struts-config.xml
它在<struts-config>
标记处显示错误:
“元素类型的内容‘的struts-config’必须匹配 “(数据源?,形式豆?,全球前锋?,动作映射?)”
如何解决这个问题呢?我使用Eclipse作为我的IDE。
您的struts-config.xml文件无效。
Struts-config.xml是一个XML文件,因此可以通过DTD或XML-Schema进行验证。
您在Eclipse中看到的错误是struts-config.xml文件针对其DTD进行验证并且验证失败的结果。最有可能的是它期望您的代码按照特定的顺序,并且您没有以这种方式编写代码,您添加了未在DTD中指定的代码,您拼错了某些代码等。
看看struts-config DTD,然后在你的struts-config.xml文件中查看它们的不同之处。
P.S.有更多版本的DTD,所以请确保你正在寻找正确的。
http://struts.apache.org/dtds/struts-config_1_0.dtd
http://struts.apache.org/dtds/struts-config_1_1.dtd
http://struts.apache.org/dtds/struts-config_1_2.dtd
http://struts.apache.org/dtds/struts-config_1_3.dtd
http://struts.apache.org/dtds/struts-config_1_4.dtd
是的,struts-config.xml
根据模式是无效的,但随着应用工作,这只是一个验证问题。要在扩大为什么它是在子元素的顺序上下文无效 - 如果验证器告诉你......
元素类型“的struts-config”的内容必须匹配 “(????数据源,形豆,全球转发,动作映射“)
...那么这意味着,例如(减少为了简洁的例子):
<struts-config>
<datasource>...</datasource>
<form-beans>...</form-beans>
<global-forwards>...</global-forwards>
<action-mapping>...</action-mapping>
</struts-config>
...是模式的有效实现,而例如...
<struts-config>
<datasource>...</datasource>
<global-forwards>...</global-forwards>
<form-beans>...</form-beans>
<action-mapping>...</action-mapping>
</struts-config>
...不是。顺便说一下,这是因为Struts 1.0 DTD in question说...
<!ELEMENT struts-config (data-sources?,form-beans?,global-forwards?,action-mappings?)>
......并由此要求子元素的某种顺序。这是不是该DTD作者做不经意,但由于事实:
声明在DTD发生限制无序列表将 往往导致很长的或复杂的看着声明。 1
元素的顺序问题。例如 <form-beans></form-beans>
元件 必须在 <global-forwards></global-forwards>
元件等