一、 介绍
通过jsp和controller的交互实现在用户名或密码为空时的校验信息的显示。
二、思路
- 前端jsp通过表单向控制层传递数据。
- 数据进入控制层处理前进行验证,如果所传数据不符合规范,则传到map类型的容器中。
- map不为空则重定向到登陆页面,并将map类型的错误信息保存入request中。
- 前端通过el表达式显示失败信息。
三、代码
jsp页面代码:
<form action="login4" method="post">
username:<input type="text" name="username"><br/>
${message.usernameisnull}<br/>
password:<input type="text" name="password"><br/>
${message.passwordisnull}<br/>
<input type="submit" value="登录">
</form>
controller层代码:
private Map validateForm4(Userinfo userinfo ){
Map map = new HashMap();
if (userinfo.getUsername() == null||"".equals(userinfo.getUsername()))
map.put("usernameisnull", "账号为空!");
if (userinfo.getPassword() == null||"".equals(userinfo.getPassword()))
map.put("passwordisnull", "密码为空!");
return map;
}
@RequestMapping("login4")
public String login4(Userinfo userinfo, HttpServletRequest request){
Map map = validateForm4(userinfo);
if (map.size() > 0) {
request.setAttribute("message", map);
return "login4.jsp";
}
else {
if (userinfo.getUsername().equals("a")&&userinfo.getPassword().equals("aa"))
return "ok.jsp";
else
return "no.jsp";
}
}