1

如果产品离线,我想在用户在购物车页面结账时在店面显示错误消息。我更新了 Controller 类中的源代码,并将错误消息添加到 GlobalMessages,如下所示:

GlobalMessages.addMessage(model, GlobalMessages.ERROR_MESSAGES_HOLDER, "basket.validation.offlineProduct", new Object[] { productData.getName(), productUrl, quantity });

我在属性文件中添加了这个错误属性“basket.validation.offlineProduct”,如下所示:

basket.validation.offlineProduct=Unfortunately <a href="{1}">{0}</a> was removed from your cart as it is offline. You previously had {2} in your cart.

但是没有显示错误消息,尽管在调试我的自定义代码时正在调用并且错误消息代码被设置为模型。

显示错误消息所需的其他设置已存在于 jsp 文件中,如下所示:

<%@ taglib prefix="common" tagdir="/WEB-INF/tags/desktop/common" %>
<common:globalMessages/>

我检查了其他控制器文件源代码,过程似乎相同,并且错误消息显示在其他页面上。我还尝试删除缓存并重新启动服务器。

4

1 回答 1

1

如果我是你,我会尝试做接下来的事情:

1)尝试显示没有任何参数的消息,例如 - "Product was removed from your cart as it is offline"。如果它正在工作 - 问题出在属性中。

2)尝试使用其他东西而不是GlobalMessages, 比如

String error = l10NService.getLocalizedString("basket.validation.offlineProduct",new Object[] { productData.getName(), productUrl, quantity });
model.addAttribute("productError", error);
于 2016-11-10T11:28:07.970 回答