对传进来的参数进行校验,并做一些简单的处理。
传参的方式:http://localhost:8080/z-struts2-05/user/useradd?name=jjz&age=18
接收方式为实现ModelDriven接口
public class UserAction extends ActionSupport implements ModelDriven<User>{
private User user = new User();
@Override
public User getModel() {
return user;
}
public String add(){
if(user.getName()==null || user.getName()!="admin"){
//这里可以设置页面Debug中的值
this.addFieldError("name", "登陆名错误!");
this.addActionMessage("错啦");
this.addActionError("errorMessages!!!");
return "error";
}
return "add";
}
}
这里讲跳转到usererror.jsp页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- 引入Struts标签库 -->
<%@taglib uri="/struts-tags" prefix="s"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>error</title>
</head>
<body>
<s:fielderror name="name"/><!-this.addFieldError("name", "登陆名错误!"); -->
<s:property value="errors.name[0]"/><br><!-- this.addActionMessage("错啦"); -->
<s:property value="errorMessages"/><!-- this.addActionError("errorMessages!!!"); -->
<s:debug></s:debug>
</body>
</html>
这里errors和fieldErrors可以配多个值
比如:
if(user.getName()==null || user.getName()!="admin"){
//这里可以设置页面Debug中的值
this.addFieldError("name", "登陆名错误!");
this.addFieldError("name", "登陆名太长!");
//...
this.addActionMessage("错啦");
this.addActionError("errorMessages!!!");
return "error";
}