如果产品离线,我想在用户在购物车页面结账时在商店面上显示相同的错误消息。我更新了Controller类中的源代码,并将错误消息添加到GlobalMessages中,如下所示:
GlobalMessages.addMessage(model, GlobalMessages.ERROR_MESSAGES_HOLDER, "basket.validation.offlineProduct", new Object[] { productData.getName(), productUrl, quantity });
我添加了这个错误属性"basket.validation. "
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/>
我检查了其他控制器文件源代码,过程似乎是相同的,错误信息正在显示在其他页面上。
如果我是你,我会尝试做下一件事:
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);