检查前台提交的地址是不是与struts.xml中配置的action一致
web.xml中是否有以下配置
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<url-pattern>也可以为action</url-pattern>
最后我错误的原因是
<package name="demo2" extends="struts-default" namespace="/">
由于使用框架分模块开发将部分struts.xml合并到一起,package中的name属性出现冲突,发现有另一个子struts.xml中出现重名的name属性修改即可解决。