1.Struts2中的action总是默认执行的index方法,不执行自己编写的action类。
原因:struts.xml配置文件写错了,错误代码示例如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
<constant name="struts.action.extension" value="action,do"></constant>
<package name="day01" namespace="/" extends="rest-default">
<action name="input">
<result>input.jsp</result>
</action>
<action name="product-save" class="com.day01.Product" method="execute">
<result name="success">details.jsp</result>
</action>
</package>
</struts>
修改正确代码如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
<constant name="struts.action.extension" value="action,do"></constant>
<package name="day01" namespace="/" extends="struts-default">
<action name="input">
<result>input.jsp</result>
</action>
<action name="product-save" class="com.day01.Product" method="execute">
<result name="success">details.jsp</result>
</action>
</package>
</struts>
错误原因package属性extends配置出错,rest-default调用的是struts2-rest-plugin-2.5.22.jar包里面的配置
<bean type="org.apache.struts2.dispatcher.mapper.ActionMapper" name="rest" class="org.apache.struts2.rest.RestActionMapper" />
错误信息:
Wrong method was defined as an action method: index
在错误1的基础之上删除struts2-rest-plugin-2.5.22.jar