最近在做一个接口优化,因为以前的版本是用的s2si框架,所以经理要求也用sturts2做,要用最新的架包做,于是乎,我下载了struts2的2.5.8版本的,然后开始做,写了一个方法测试的时候,没有问题,但是该用通配符测试后,一直提示“this is no action for...”这句话,然后一直找原因,最后终于找到结果:2.5版本后为了安全起见,struts2不再默认使用通配符, 一顿 好气啊。
最后搜索了一遍: 现在把结果给大家写出来,让大家少走弯路;
修改步骤:
1、修改struts.xml的头部:
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
注意我加红的数字,一定要改
第二步:配置允许零配置的方法allomethod
第一个方式是在《package》这个包中添加全局的allomethod方式

在升级Struts2到2.5版本后,遇到使用通配符导致的‘this is no action for...’错误。为了解决这个问题,需要修改struts.xml配置文件,将DOCTYPE中的版本号改为2.5,并添加allowMethods配置。可以在全局package中或特定action中设置allowMethods以启用通配符支持。
最低0.47元/天 解锁文章
1667





