前台Action接收到数据,在Action层验证,不过有时候感觉验证应该在Service层时行,Action只负责转发控制,操纵前台页面的数据显示。。  另外,还有个问题,比如登陆用户名密码不正确,我通过抛异常的方式来通知Action层,然后Action层try-catch到后进行相应的动作。这样做合适吗?  

解决方案 »

  1.   

    服务器端验证就是在提交到action处理逻辑之前做了验证
    可以看一下struts1 2中的验证方法validate或者验证框架之类的 抛异常明显很不好 可以使用ajax或者action中有个actionError fieldError之类的 
      

  2.   


    可是在Service层怎么能够用actionError, fieldError呢?在struts2的XML文件中或者validate方法中验证,不就是在Action层验证吗?
      

  3.   


    是啊 在action中验证 确切地说应该是在处理action之前
      

  4.   

    一般都在action中验证,验证成功才会调用逻辑层进行业务处理。
      

  5.   


    我定义了一些异常,如图:当发生这些异常情况的时候,我就抛出来,只有Service才抛这些异常,抛给Action层。而一般的Service方法,比如:login,deleteUser这些方法,执行完之后都会把对象返回。额,,另外,通过抛异常的方式来通知Action,这样具体有哪些不好呢?
      

  6.   


    嗯 ,谢谢,那我就在action中验证吧,或者说是Action处理请求之前。。不过大家一般喜欢用哪种验证方式呢、?XML还是validate?XML感觉配置起来麻烦,validate方法又觉得把Action类弄得庞大混乱。。
      

  7.   

     另外,我目前的项目 是用EXTJS来做为前台的, 与前台的交互用的都是JSON,而一般把错误放在fieldError里,前台又怎么获得呢?