1.struts2的输入校验,一个action有多个方法,并且参数也不完全相同,那校验时根据每个方法写个校验文件,那这样一来校验文件岂不是变得好多了?2.关于业务层的方法,比如有个添加用户addUser方法。在action里可以接收多个用户的请求,那到了业务层具体的方法比如addUser怎么处理呢,是每个请求都分别独立访问这个方法;还是addUser只有这么一个,对于多个请求按先来后到的顺序依次处理?3.关于hibernate,比如这种方法
public String updateItem(..){
...
itemDao.update(item);
...
}
itemDao.update就是执行下面这种方法
getHibernateTemplate().saveOrUpdate(obj);那么itemDao.update之后立刻数据就在数据库中更新了;还是说退出了updateItem这个方法之后再向数据库更改数据?目前对于这些问题比较迷惑,希望大家能够告知,谢谢!

解决方案 »

  1.   

    1.可以给action方法加上类似的注解   @Validations(requiredFields = {
                @RequiredFieldValidator(fieldName = "username", message = "用户名必须填写"),
                @InputConfig(resultName = "error")
    2.struts2不是单例的,也就是独立访问
    3.update后结束不是方法结束
      

  2.   

    第一个问题能不能具体说下呢,比如给个例子。用注解的话xml校验文件还要不要写呢?
    关于业务层,每个方法都算是一个事务。方法内虽然已经改变了数据库的数据,但是并没有提交事务。如果这个方法同时有多个访问,即同时有多个事务存在,那么其它事务访问到的数据还是原本的数据。事务是在方法结束后才会提交,数据库才会做真正更改。我这么理解对吗?
      

  3.   

    第一个问题能不能具体说下呢,比如给个例子。用注解的话xml校验文件还要不要写呢?
    关于业务层,每个方法都算是一个事务。方法内虽然已经改变了数据库的数据,但是并没有提交事务。如果这个方法同时有多个访问,即同时有多个事务存在,那么其它事务访问到的数据还是原本的数据。事务是在方法结束后才会提交,数据库才会做真正更改。我这么理解对吗?
    1.xml校验文件不用写
    2.业务层只有增删改的方法才会涉及到事物,别的正确