Struts2.5通配符的坑,页面报错404
报错截图
**报错内容:**There is no Action mapped for namespace [/] and action name [Emp_edit] associated with context path [/demo].
**错误原因:**Struts2.5 为了提升安全性,默认开启了Strict Method Invocation(strict-method-invocation
)
在SMI开启的情况下,通配符不会匹配所有的方法名,而是会匹配在default-struts.xml
文件中global-allowed-methods
属性所允许的方法名或者是匹配通过 <allowed-method/>
标签来定义的方法名。
解决方法:
方法一
在struts.xml中的package下添加regex:.*,匹配所有。
方法二
将package标签的属性strict-method-invocation
设置为false
。
默认全局允许匹配的方法名称: