关于struts2的自定义方法的支持

Struts2也支持自定义方法,即在struts.xml中的action元素内定义method属性,属性值即为待执行的方法。其中,该方法的声明要与execute保持一致。但是不推荐使用这种方式,因为它容易导致Action代码混乱。如下面的代码myExecute,那么在Action元素里面就必须要配置method=myExecute,

而且验证方法就必须这样命名:validateMyExecute,Action中自定义方法的输入校验。对于通过action的method属性所指定的自定义方法,其对应的自定义输入校验方法名为validateMyExecute(假设自定义的方法名为myExecute)。底层是通过反射来调用的。

执行流程是这样的:

当在Action中指定了自定义的execute方法时,首先会执行自定义的execute方法所对应的输入校验方法,然后再去执行validate方法,执行完毕后如果出现了任何错误都不会再去执行自定义的execute方法,流程转向了input这个名字所对应的页面上。

public class RegisterAction extends ActionSupport
{
private String username;

private String password;

private String repassword;

private int age;

private Date birthday;

private Date graduation;


public String getUsername()
{
return username;
}


public void setUsername(String username)
{
this.username = username;
}


public String getPassword()
{
return password;
}


public void setPassword(String password)
{
this.password = password;
}


public String getRepassword()
{
return repassword;
}


public void setRepassword(String repassword)
{
this.repassword = repassword;
}


public int getAge()
{
return age;
}


public void setAge(int age)
{
this.age = age;
}


public Date getBirthday()
{
return birthday;
}


public void setBirthday(Date birthday)
{
this.birthday = birthday;
}

public Date getGraduation()
{
return graduation;
}


public void setGraduation(Date graduation)
{
this.graduation = graduation;
}


@Override
public String execute() throws Exception
{
System.out.println(this.birthday);

return SUCCESS;
}

public String myExecute() throws Exception
{
System.out.println("myExecute invoked!");

return SUCCESS;
}

public void validateMyExecute()
{
System.out.println("validateMyExecute invoked!!");
}


@Override
public void validate()
{
System.out.println("validate invoked!");
}


}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yjsuge

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值