最近在部署各个项目联调。。。Struts2居然报错There is no Action mapped for action name XXXX。。。网上一查看,发现好多类似的问题。。。主要原因是相关配置文件struts.xml找不到或者配置出错。查看相关目录发现struts.xml位置放置的是正确的。查看struts.xml的配置,忽然想起来,由于项目很多模块是分开的,每个模块都有自己的struts.xml配置文件,只需要在src目录下的主struts.xml中引进来就可以了。再一看自己的配置文件,果然是少引进来模块的配置文件。。。太粗心了。。。
主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>
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="false" />
<constant name="struts.multipart.maxSize" value="104857600" />
<!-- <constant name="struts.multipart.saveDir" value="/temp"/> -->
<include file="config/struts/XXXX-struts.xml"/>
<include file="config/struts/XXXX1-struts.xml"/>
<include file="config/struts/XXXX2-struts.xml"/>
<include file="config/struts/XXXX3-struts.xml"/>
<include file="config/struts/XXXX4-struts.xml"/>
<!-- Add packages here -->
</struts>
如果遇到此问题:
1)确保相关struts.xml文件目录位置放置正确。
2)确保相关struts.xml文件配置正确。