1。我想实现一个类,能在ACTION层拦截所有异常,并把异常信息输入LOG4J里面,大家有没啥好的方案,最好能给个例子
2。用JSON做AJAX操作,拦截器无法拦截SESSION信息,假设返回值为msgType, 如何能现实一个类自动判断SESSION为不为空。空则修改返回值的值。

解决方案 »

  1.   

    1. 用Interceptor,参考:http://www.vaannila.com/struts-2/struts-2-example/struts-2-interceptors-example-1.html2. 提供一个思路。用ThreadLocal将session的信息存入,然后用Interceptor可以检查。
      

  2.   

    补充,对于1的问题,Interceptor需要捕捉所以异常,然后写入log。
      

  3.   

    LS的那个思路2:LZ可以借鉴下.!!
      

  4.   

    发快了。更正,对于1的问题,Interceptor需要捕捉所异常,然后写入log。
      

  5.   

    第一条的话,在Interceptor中捕捉ActionInvocation.invoke()时所抛出的异常,然后写到log里面去.!
      

  6.   

    不对啊。我的Interceptor是在方法之前执行的方法执行过程中的异常我就没法捕捉了啊
      

  7.   

    还有我的JSON + AJAX方法,拦截器根本没法拦截,,这里的异常也无法捕捉
      

  8.   

    ACTION层拦截所有异常?
    是s2可以使用拦截器
    s1嘛写一个全局异常处理类就可以
      

  9.   

    可以呀 service里面的异常往都可以抛到action里面来 然后在action里面try catch 在catch里面用logger.debug(exception)
      

  10.   

    我知道啊,但是像楼上说的那样,我不是在每个ACTION里面都得TRY  CATCH,我就是希望有个类自动帮我做这些事
      

  11.   

    你在action里面try catch干什么?
    写个拦截器, ActionInvocation.invoke的时候抓阿.  要不你的action看得要头大的.!
      

  12.   

    楼上的。拦截器拦截不了我的JSON+AJAX的方法!怎么抓?而且拦截器不是方法之前的嘛。方法执行中的怎么抓?