struts1.3中<struts-config>报错
2015-03-29 16:26
162 查看
struts1.3中<struts-config>报错
一个项目中struts-config.xml文件老是报错
在<struts-config>的标签中报错:
The content of element type "struts-config" must match "(display-name?,description?,form-beans?,global-exceptions?,global-forwards?,action-
mappings?,controller?,message-resources*,plug-in*)".
显然,是我的文件中标签的不匹配造成的,但是我找了一圈,发现标签的使用都很正常。该xml文件如下:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" "http://struts.apache.org/dtds/struts-config_1_3.dtd">
<struts-config>
<form-beans>
<form-bean name="employeeForm" type="com.hsp.web.forms.EmployeeForm" />
</form-beans>
<action-mappings>
<action path="/login" parameter="flag" name="employeeForm">
<forward name="ok" path="WEB-INF/MainFrame.jsp"></forward>
</action>
<!-- 配置employeeaction -->
<action path="/employee" name="employeeForm" parameter="flag">
<forward name="goAdd" path="/WEB-INF/addEmpUi.jsp" />
<forward name="goList" path="/WEB-INF/listEmp.jsp"/>
<forward name="goUp" path="/WEB-INF/updEmpUi.jsp"/>
</action>
</action-mappings>
<!-- 配置全局跳转 -->
<global-forwards>
<forward name="opererr" path="/WEB-INF/err.jsp" />
<forward name="operok" path="/WEB-INF/welcome.jsp" />
</global-forwards>
<controller>
<set-property property="processorClass" value="org.springframework.web.struts.DelegatingRequestProcessor"/>
</controller>
</struts-config>
上面的action已经被spring代理了,所以没有配置type属性
我试着去掉一些标签,发现是<action-mappings>标签的问题(去掉该标签后没有报错了),我们知道,“?”是代表该标签只能出现零次或一次,“*”代表是零次或多次,在这个xml文件中也就出现了一次,但是也没理由报错,而且标签都是一一匹配的。在网上找了好久,才发现这是个比较隐蔽的错误,就是各个成员的顺序错误也会报错的。把<action-mappings>整体往下移动,移动到<global-forwards>的后面就没报错了。-_-
如下:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" "http://struts.apache.org/dtds/struts-config_1_3.dtd">
<struts-config>
<form-beans>
<form-bean name="employeeForm" type="com.hsp.web.forms.EmployeeForm" />
</form-beans>
<!-- 配置全局跳转 -->
<global-forwards>
<forward name="opererr" path="/WEB-INF/err.jsp" />
<forward name="operok" path="/WEB-INF/welcome.jsp" />
</global-forwards>
<action-mappings>
<action path="/login" parameter="flag" name="employeeForm">
<forward name="ok" path="WEB-INF/MainFrame.jsp"></forward>
</action>
<!-- 配置employeeaction -->
<action path="/employee" name="employeeForm" parameter="flag">
<forward name="goAdd" path="/WEB-INF/addEmpUi.jsp" />
<forward name="goList" path="/WEB-INF/listEmp.jsp"/>
<forward name="goUp" path="/WEB-INF/updEmpUi.jsp"/>
</action>
</action-mappings>
<controller>
<set-property property="processorClass" value="org.springframework.web.struts.DelegatingRequestProcessor"/>
</controller>
</struts-config>
一个项目中struts-config.xml文件老是报错
在<struts-config>的标签中报错:
The content of element type "struts-config" must match "(display-name?,description?,form-beans?,global-exceptions?,global-forwards?,action-
mappings?,controller?,message-resources*,plug-in*)".
显然,是我的文件中标签的不匹配造成的,但是我找了一圈,发现标签的使用都很正常。该xml文件如下:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" "http://struts.apache.org/dtds/struts-config_1_3.dtd">
<struts-config>
<form-beans>
<form-bean name="employeeForm" type="com.hsp.web.forms.EmployeeForm" />
</form-beans>
<action-mappings>
<action path="/login" parameter="flag" name="employeeForm">
<forward name="ok" path="WEB-INF/MainFrame.jsp"></forward>
</action>
<!-- 配置employeeaction -->
<action path="/employee" name="employeeForm" parameter="flag">
<forward name="goAdd" path="/WEB-INF/addEmpUi.jsp" />
<forward name="goList" path="/WEB-INF/listEmp.jsp"/>
<forward name="goUp" path="/WEB-INF/updEmpUi.jsp"/>
</action>
</action-mappings>
<!-- 配置全局跳转 -->
<global-forwards>
<forward name="opererr" path="/WEB-INF/err.jsp" />
<forward name="operok" path="/WEB-INF/welcome.jsp" />
</global-forwards>
<controller>
<set-property property="processorClass" value="org.springframework.web.struts.DelegatingRequestProcessor"/>
</controller>
</struts-config>
上面的action已经被spring代理了,所以没有配置type属性
我试着去掉一些标签,发现是<action-mappings>标签的问题(去掉该标签后没有报错了),我们知道,“?”是代表该标签只能出现零次或一次,“*”代表是零次或多次,在这个xml文件中也就出现了一次,但是也没理由报错,而且标签都是一一匹配的。在网上找了好久,才发现这是个比较隐蔽的错误,就是各个成员的顺序错误也会报错的。把<action-mappings>整体往下移动,移动到<global-forwards>的后面就没报错了。-_-
如下:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" "http://struts.apache.org/dtds/struts-config_1_3.dtd">
<struts-config>
<form-beans>
<form-bean name="employeeForm" type="com.hsp.web.forms.EmployeeForm" />
</form-beans>
<!-- 配置全局跳转 -->
<global-forwards>
<forward name="opererr" path="/WEB-INF/err.jsp" />
<forward name="operok" path="/WEB-INF/welcome.jsp" />
</global-forwards>
<action-mappings>
<action path="/login" parameter="flag" name="employeeForm">
<forward name="ok" path="WEB-INF/MainFrame.jsp"></forward>
</action>
<!-- 配置employeeaction -->
<action path="/employee" name="employeeForm" parameter="flag">
<forward name="goAdd" path="/WEB-INF/addEmpUi.jsp" />
<forward name="goList" path="/WEB-INF/listEmp.jsp"/>
<forward name="goUp" path="/WEB-INF/updEmpUi.jsp"/>
</action>
</action-mappings>
<controller>
<set-property property="processorClass" value="org.springframework.web.struts.DelegatingRequestProcessor"/>
</controller>
</struts-config>
相关文章推荐
- struts1.3中<html:errors>不显示问题
- 5.Struts的<action input=""></action>:struts-config.xml
- 2.Struts的<action unknown="true">:struts-config.xml
- 2.Struts的<action forward="/login.jsp"></action>:struts-config.xml
- struts+spring+hibernate的web应用<四> Web层代码编写(2)
- 在使用struts标签时,把<s:if>中的test写成了text
- 第八章 指定Struts 2处理的请求 <constant>常用常量
- 关于web.config中<customErrors>节点说明
- struts标签<s:date>的使用
- 解决struts中<html:form>提交中文时乱码问题
- struts命名空间(basePath)(前两行<%%>不要删)(struts.xml修改以后需要重启服务器)
- <%@ taglib prefix="s" uri="/struts-tags"%>
- <aop:config>
- Spring配置项<context:annotation-config/>解释说明
- struts.xml文件中<result>的type属性详解
- Spring配置项<context:annotation-config/>解释说明
- struts学习笔记 [JSTL]<c:forEach>标签的使用
- struts-html.tld中&lt;rtexprvalue&gt;
- struts标签中<s:iterator>的使用
- Struts2 的<s:iterator> 标签详解