日期:2014-05-17  浏览次数:20651 次

关于struts2的一点疑问
我刚学struts2不久,现在有点疑问我希望大家能多多指教,在struts2中每个请求一般都对应一个action
比如 我在User.acton 类是这样定义的
User extends ActionSupport
{
  private int id;
  private String name;
  Private String password;

  getter{
  .......
  }
  setter{
  ........
}
}
然后在提单表单的页面中
<input type="text" name="id">
<input type="text" name="name">
<input type="text" name="password">
这个时候上面三个都输入值不会抛异常

而有些时候我想查询的时候还能用这个acton 么? 因为查询一般就传一个id这个值就行了啊,而如果上面的acton会抛异常
而且如果用了validate()方法 就不能通过验证了,那我是不是可以这样理解就是针对user的增、删、改、查 每个都要建立新的action 类 进行处理? 我感觉不应该是这样的,但因为我是刚学的菜鸟不知道应该是什么样子请各位能多多指教 谢谢!!

------解决方案--------------------
而有些时候我想查询的时候还能用这个acton 么? 因为查询一般就传一个id这个值就行了啊,而如果上面的acton会抛异常
---------------------
可以用这个action,只不过你方法应该重写吧?如果你一个action里面只有一个业务的话,用默认的execute()方法就可以了,但是如果有多个业务的话,每个业务都要对应一个方法来处理
------解决方案--------------------
可以写在一个类中。一般validate方法不自行实现。要验证也是前台验证。如果验证 ID 可以用Ajax的异步通信。
只传一个ID 一般逻辑正确的话 是不会抛异常的。
------解决方案--------------------
在action里面定义不同的方法,你用哪个方法在struts-xml文件里调用去找就可以了,一个action类可以做很多事情
------解决方案--------------------
一个action类可以做增删改查,action类里面可以有很多个方法的,不是只能有一个方法,execute()可以放共通的东西