gpt4 book ai didi

java - 通过handleValidationErrors()调用在Stripes中显示验证错误

转载 作者:行者123 更新时间:2023-11-30 07:49:15 25 4
gpt4 key购买 nike

我正在将包含表单数据的请求发送到 ProcessorActionBean 进行处理。发生错误,但 ProcessorActionBean 没有 JSP View - 它仅用于处理表单数据 - 因此我通过在 ProcessorActionBean 上实现 ValidationErrorHandler 来捕获错误,并从 handleValidationErrors() 中将其重定向到 DisplayerActionBean。

问题在于,导致方法运行的错误在重定向后消失了。我可以将非错误消息放在上下文中,它们将显示在 DisplayerActionBean 的页面中,但错误消息似乎会转到/dev/null。

如何才能显示错误?

最佳答案

解决方案是:

a) 在handleValidationErrors() 方法中,使用FlashScope 将验证错误放在某个位置,它们将一直存在到下一个请求:

FlashScope scope = FlashScope.getCurrent(getRequest(), true); 
scope.put("your_key",listOfValidationErrors);

b) 在拦截器中(我使用了修改后的 ErrorMessageInterceptor ),如果您在 your_key 下发现一些错误,则将它们放入上下文的验证错误中:

ValidationErrors errors = ctx.getActionBeanContext().getValidationErrors();
errors.add(someError.getFieldName(), someError);

(与 ErrorMessageInterceptor 的显着区别在于,您将从列表中得到的每个错误(您将其放入验证错误处理程序中)放入常规验证错误中,而不是全局错误中。这允许它们保留与它们相关的领域。)

关于java - 通过handleValidationErrors()调用在Stripes中显示验证错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33501647/

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