用struts2框架,怎么样让那个自定义的异常处理信息以国际化的形式显示在页面上,而对于网上所说的throw new 自定义的RuntimeException(getText("key"));这个是相对于在Struts2的action里才能获取的,而现在是在Service层抛出异常,那要怎么做?

解决方案 »

  1.   

    刚才看了和你类似的一个帖子,不知道是不是你发的,
    我给你给解决方案,但是不保证是最佳方案,
    首先你的action要继承ActionSupport,或者做个baseAction,所有的action都继承他
    然后在service抛出你自定义的异常,自定义异常类中要有key属性
    然后做一个拦截器拦截所有action的异常,在拦截器中取当前action对象强转成baseAction
    这样就可以用这个对象的getText方法取资源文件的值了,当然key是你在抛异常时传到异常对象中的。
    显示异常信息就不用我说了吧。不知道我说的是否明白,呵呵。