如果产品处于离线状态,我想在购物车页面上的用户结帐时在店面上显示相同的错误消息。我更新了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.
但是没有显示错误消息,虽然在调试时我正在调用我的自定义代码并且错误消息代码被设置为Model。
显示错误消息所需的其他设置已存在于jsp文件中,如下所示:
<%@ taglib prefix="common" tagdir="/WEB-INF/tags/desktop/common" %>
<common:globalMessages/>
我检查了其他Controller文件源代码,过程似乎相同,并且错误消息显示在其他页面上。我也尝试删除缓存并重新启动服务器。
答案 0 :(得分: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);