来自—[Struts.2深入详解].孙鑫
用来以后复习用
两个负责处理类型转换错误的拦截器
public class ActionSupport implements com.opensymphony.xwork2.Action,
com.opensymphony.xwork2.Validateable, com.opensymphony.xwork2.interceptor.ValidationAware,
com.opensymphony.xwork2.TextProvider, com.opensymphony.xwork2.LocaleProvider,
java.io.Serializable {
向用户报告转换错误的三个步骤
<result name="input">Register.jsp</result>
没有head和field的时候
有的时候<head/>
的作用是变红
定制错误信息
案例
package com.rain.action;
import com.opensymphony.xwork2.ActionSupport;
/**
* @ Author : Rain
* @ Classname : TestAction
* @ Date : 2019/4/8 22:08
* @ Description:
*/
public class TestAction extends ActionSupport {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String execute() throws Exception {
return SUCCESS;
}
}
<s:form action="test" name="form1">
<s:textfield name="name" label="name"></s:textfield>
<s:textfield name="age" label="age"></s:textfield>
<s:submit value="提交"/>
</s:form>
错误在没有加上<result name="input">index.jsp</result>
扫描二维码关注公众号,回复:
5931589 查看本文章
错误处理的顺序
@Override
public String execute() throws Exception {
this.addFieldError("name","姓名格式不正确");
return SUCCESS;
}
@Override
public void validate() {
this.addFieldError("name","姓名错误");
}
先进行转换,发现有错误后,之后执行处理的方法(validate()中的代码),返回input。不再执行execute方法。