gpt4 book ai didi

java - 在 Struts 1 ActionForm 中处理异常

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:40:38 25 4
gpt4 key购买 nike

我正在开发一个使用 Struts 1.1 的旧 Web 应用程序。为了进行业务验证(涉及多个表单属性和调用后端服务的复杂验证),我编写了一个 ActionForm 实现,它调用 ActionForm.validate 方法上的 validator 链。

validator 链是使用公共(public)链实现的。一切都很好,除了当 ActionForm.validate 中发生异常时,它没有被 struts 异常处理程序捕获,而是在屏幕上显示堆栈跟踪。 struts 异常处理程序没有捕获到

有没有办法避免页面上的堆栈跟踪并将异常传播到 struts 异常处理程序?

谢谢

最佳答案

也许 validator 最好不要抛出异常。验证是为了检查用户输入是否符合 minChars、maxChars、密码强度/验证、电子邮件语法正确性、isNumber 等限制条件。如果 validator 失败,它应该只返回 false——从不抛出异常。请参阅 http://struts.apache.org/1.2.4/userGuide/dev_validator.html 中的示例

如果您的 validator 调用后端函数……我认为有问题。 validator 应该只添加字段错误。

如果由于句法正确输入而导致错误(例如错误的用户/登录密码),那么您的 struts 应用程序(您的操作)应该处理此错误并将操作错误返回给用户。这可以通过在抛出异常 (UserNotLoggedInException) 时重定向到错误页面来完成。

关于java - 在 Struts 1 ActionForm 中处理异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3463639/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com