Struts:No result defined for action daiwei.struts.action.UserAction and result success
问题描述:
我试图测试Struts传递对象参数User
Action 代码如下(省略了属性的set和get方法):
public class UserAction extends ActionSupport {
private String name;
private int age;
private User user;
private String mes;
public String add() {
if(name == null || !name.equals("admin")) {
this.addFieldError("name", "name is error");
this.addFieldError("name", "name is too long");
return ERROR;
}
return SUCCESS;
}
public String addUser() {
String userName =user.getName();
this.mes="user add success!";
return SUCCESS;
}
}
<action name="user" class="daiwei.struts.action.UserAction" method="add">
<result>/action/user_add_success.jsp</result>
<result name="error">/action/user_add_error.jsp</result>
</action>
访问路径为:http://localhost:8080/struts2/action/myUser!addUser?user.name=dd
错误代码为:
No result defined for action daiwei.struts.action.UserAction and result success
原因和解决方案:
因为在Struts.xml配置中,action的名字”user”,可能为保留关键字,所以会出现以上错误,将action的名字改为”myUser”,解决以上错误。