在上一节的基础之上,给项目加上验证:非空和用户名、密码如果不是咱指定的也报错
首先,修改Action类,要继承ActionSupport类,然后,实现以下方法
public String execute() throws Exception{
if("hello".equals(this.getUsername()) && "world".equals(this.getPassword())){
return "success";
}else{
this.addFieldError("username", "username or password is wrong!");
return "failure";
}
}
public void validate() {
//判断用户名密码是否为空
if(null == this.getUsername() || "".equals(this.getUsername().trim())){
//当验证不成功时,错误信息的显示情况,这个是有针对性的,就像下边这个,只针对“username”
this.addFieldError("username", "username required!");
}
if(null == this.getPassword() || "".equals(this.getPassword().trim())){
this.addFieldError("password", "password required!");
}
}
再修改struts.xml文件
<action name="login" class="tbk.struts.action.LoginAction">
<result name="input">/login.jsp</result>
<result name="success">/result.jsp</result>
<result name="failure">/login.jsp</result>
</action>
解释一下,<result name="input">指的是,当验证不成功的时候,要跳转的页面。
这样就OK啦!