struts1的话,一般服务器端验证都是放在actionform里面么?但是有些验证需要调service层查数据库,在actionform里调用service层不好吧。。
还有就是错误的提示信息,是存到request里返回给jsp,还是存到ActionErrors或ActionMessages?struts2的话,服务器端验证是在validation.xml里验证,还是在action里?毕竟validation.xml不能调service。。
错误信息也是存放在request么?

解决方案 »

  1.   

    struts1好久不用了忘了。在actionform里调用业务检查。strtus2在action中的validate()方法里进行业务检查。xml不能针对业务逻辑检查的。错误信息都放到ActionErrors里
      

  2.   


    public void validate() {
    //业务逻辑检查
    this.addActionError("errors");
    }
      

  3.   

    struts2验证,可考虑放到service中做,再近一层,推迟到domain一层。service中调用domain层验证,然后再验证业务逻辑,将验证验证返回给action

    public void add(Domain d) {
    d.validateGeneral();
    d.validateBusiness(this);
    }