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>

时间: 2024-12-30 03:10:30

struts1.3中<struts-config>报错的相关文章

在WSL中安装swool报错 error: unrecognized command line option &#39;-V&#39; 的解决方法

Windows Subsystem for Linux Ubuntu中使用pecl安装swool时遇到错误"error: C compiler cannot create executables"."error: unrecognized command line option '-V'" 解决方法 先看解决方法, 将gcc版本降低到4.8即可,因为高版本gcc取消了-V参数: sudo apt install gcc-4.8 -y sudo update-alte

Java中List.remove报错UnsupportedOperationException

Java中List.remove(removeRange,clear类似) 报出 UnsupportedOperationException 的错误.原来该List是一个AbstractList,不支持增删改操作. 一般情况下我们会使用 LinkedList 和 ArrayList ,什么情况下出现 AbstractList 呢?通过 ArrayList.asList() 函数得到的 List 就是 AbstractList.该AbstractList只是简单地在已有的元素数组上套了一层List

windows平台在tomcat中启动cas报错解决

windows平台在tomcat中启动cas报错: Caused by: java.lang.UnsatisfiedLinkError: Could not load library. Reasons: [no jansi in java.library.path, 系统找不到指定的路径.] 解决办法:将jansi.dll文件放到C:\Windows\System32目录下即可. 注意:jansi.dll文件在使用gradle编译打包cas时会下载到C:\Users\${用户名}\.gradle

20170514002Oracle 11g R2安装过程中遇到的报错及解决办法

Oracle 11g R2安装过程中遇到的报错及解决办法 1.提示Check if the DISPLAYvariable is set.    Failed<<<< 解决方案: #xhost +  //切换到root用户输入 #su – Oracle  //切换到oracle用户 $./runInstaller  //执行安装程序 xhost 是用来控制X server访问权限的. 通常当你从hostA登陆到hostB上运行hostB上的应用程序时, 做为应用程序来说,hostA

Flex中的DataGrid报错(一)

1.错误描述    此行的多个标记: -holeNum -1105: 赋值的目标必须是引用值. 2.错误原因    detailWindow.holeNum.toString() = "20140730"; 3.解决办法 Flex中的DataGrid报错(一),布布扣,bubuko.com

Flex中的DataGrid报错(二)

1.错误描述 此行的多个标记: -holeNum -1067: String 类型值的隐式强制指令的目标是非相关类型 mx.controls:Text. 2.错误原因  将字符串类型赋值给Text类型 3.解决办法 Flex中的DataGrid报错(二),布布扣,bubuko.com

多线程AsyncTask中使用Jsoup 报错Caused by: java.lang.NoClassDefFoundError: org.jsoup.Jsoup

代码如下,在多线程AsyncTask类中的doInBackground调用Jsoup protected String doInBackground(String... params) { // TODO Auto-generated method stub Log.i(TAG, "doInBackground(Params... params) called"); try { Document doc=Jsoup.connect(params[0]).get(); Elements

Eclipse中mvn install 报错error in opening zip file

报错信息 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project wms: Compilation failure [ERROR] Failure executing javac, but could not parse the error: [ERROR] 错误: 读取C:\Users\Administrato

Eclipse中项目全部报错----项目全部打红叉的解决办法

今天遇到一个超级郁闷的事情,Eclipse新建的项目全部都打有红叉,我起初以为自 己可能是因为这两天一直在配置NDK开发环境方面的东西,是不是一不小心把那个地方给配置了,然后新建项目时项目都会出现红叉的效果.然后我clean了 一下,遭大糕了,所有的项目都出错了. 打开下面的错误提示: 错误的意思:Debug Certificate 过期了的缘故.百度了一下,果然也有遇到相似的问题,说是牵涉了一个私钥的时间期限问题. 解决办法是:进入:C:\Documents and Settings\Admi

MyEclipse8.6中提交SVN报错

上周五(11月27日)的时候,从TortoiseSVN提交项目报错,然后直接从MyEclipse中检出来,修改后提交同样报错. MyEclipse8.6中提交SVN报错,错误提示如下: commit -m "车牌号码中的字母自动转为大写" C:/Workspaces/VIMSystem/src/com/anche/action/ActIcRecord.java svn: Commit failed (details follow): svn: Can't write activity