• 用ActionSupport实现验证


    第一种:

    只要Action类继承了ActionSupport,就可以用验证方案了

    是个原始的方案,需要自己写代码,但是很灵活,登陆案例

    不足:业务处理和验证的代码混在一起,不方便验证部分的复用和维护

    @Override
    	public String execute() throws Exception {
    	
    		
    		User user=userService.getUser(loginName);
    		if(user==null){
    			addFieldError("loginName",getText("invalid.loginname"));//对应<s:fielderror/> // 显示与字段相关的错误信息

    //addActionError 对应<s:actionerror/> 显示action的所有信息 <s:fielderror fieldName="loginName"/> 明白了吧loginName是这么来的 return INPUT;//表示需要重新输入 } else if(!user.getPassword().equals(password)){ addFieldError("password",getText("invalid.password")); return INPUT; } else{ sessionMap.put("user",user); return SUCCESS; } }

     第二种:

    重写validate()方法

    业务和数据分离

    不足:在业务方法之前被调用,当validate()方法验证不通过,那么action类的验证方法也不会被执行,也就是说validate()也管action所有验证,如果想对单个业务方法验证就不行了

    第三种:

    vlidateXxx()验证

    Xxx()是写的要针对的具体的某个方法

  • 相关阅读:
    3、Less-计算
    2、Less-混合
    1、Less-初见
    5、反射-动态代理
    4、反射-类的构造器:Constrctor
    3、反射-Field
    2、反射-Method&父类
    1、反射-Class&ClassLoader
    5、URLConnection(3)
    Linux进程状态查询
  • 原文地址:https://www.cnblogs.com/Angelinas/p/5528834.html
Copyright © 2020-2023  润新知