如何将异常对象作为Struts 1.3中ActionMessage的参数

时间:2013-08-19 07:12:48

标签: string exception-handling struts-1

我的实际要求是,如果应用程序无法创建数据库连接,则应在UI中显示“无法创建数据库连接”的错误消息。所以我写了一个抛出用户定义的DBConnectionException的类。我在ActionMessages课程中写了以下几行:

ActionMesssages messages = new ActionMessages();
try {
    schedule = scheduleDAO.getSchedule();
} catch (DBConnectionException e) {
    messages.add("scheduleDelete", new ActionMessage(e.getMessage()));
}

我得到了例外,但看起来像是:

  

???en_US.Unable to create DB connection???

我收到此信息,因为我的Unable to create DB connection文件中没有密钥ApplicationResouces.properties。我的问题是:

ActionMessage中是否可以使用字符串而不是键? ActionMessage的所有构造函数都带有一个键。如何直接将字符串添加到ActionMessages?或者建议我一个不同的解决方案?

1 个答案:

答案 0 :(得分:0)

创建消息,传递密钥,并将异常消息作为替换值传递。

也就是说,即使 是您创建的特定于应用程序的异常,我也会非常谨慎地将异常信息直接传递给用户。 IMO最好将您的异常(用于开发者消费)与您的消息分开,这些消息适用于普通人。