设置重定向后消息提示

来源:互联网 发布:linux vnc客户端启动 编辑:程序博客网 时间:2024/06/06 12:37
public class ApplicationController {@Autowiredprivate MessageSource messageSource;private static final String NOTICE = "message";private static final String WARNING = "warning";private static final String ERROR = "error";/** * 获取配置文件的消息模型 * @param key * @param objs  * @return */public String getMessage(String key, Object... objs) {return messageSource.getMessage(key, objs, null);}/** * 设置重定向后的消息提示 * @param redirectAttr * @param messageKey * @param parameter */protected void sendNoticeWhenRedirect(RedirectAttributes redirectAttr, String messageKey,Object... parameter) {redirectAttr.addFlashAttribute(NOTICE, getMessage(messageKey, parameter));}/** * 重定向后的错误消息显示(不取国际化的message,Message直接传递) * @param redirectAttributes * @param message */protected void sendErrorWhenRedirectByMessage(RedirectAttributes redirectAttributes,String message){redirectAttributes.addFlashAttribute(ERROR, message);}/** * 设置重定向后的警告提示 * @param redirectAttrs * @param messageKey * @param parameter */protected void sendWarningWhenRedirect(RedirectAttributes redirectAttrs, String messageKey,Object... parameter) {redirectAttrs.addFlashAttribute(WARNING, getMessage(messageKey, parameter));}/** * 设置重定向后的错误提示 * @param redirectAttrs * @param messageKey * @param parameter */protected void sendErrorMessageWhenRedirect(RedirectAttributes redirectAttrs, String messageKey,Object... parameter) {redirectAttrs.addFlashAttribute(ERROR, getMessage(messageKey, parameter));}/** * 跳转后的错误提示 * @param model * @param messageKey * @param parameter */protected void sendErrorMessage(Model model,String messageKey, Object... parameter) {model.addAttribute(ERROR, getMessage(messageKey,parameter));}/** * 调用ServletRequest异步线程时产生的错误提醒 * @param request * @param messageKey * @param parameter */protected void sendErrorMessageWhenAsync(ServletRequest request,String messageKey,Object ...parameter){request.setAttribute(ERROR, getMessage(messageKey, parameter));}/** * 服务于重定向操作后,拼接跳转的分页页码 * @param page * @return */protected String getPageSuffix(Integer page) {String paginationSuffix = "";if(null != page){paginationSuffix+="?page="+page;}return paginationSuffix;}/** * 服务于请求达到服务器端,未通过验证需要返回给请求页并添加提示(单个对象的回置) * @param model             * @param backforKey回置对象的key * @param backForValue回置对象的值 * @param errorMessageKey错误提示在国际化中的key * @param errorParam错误提示在国际化中需要的参数 */protected void handleFailureRequestWithSingleBackForObject(Model model,String backforKey,Object backForValue,String errorMessageKey,Object... errorParam){sendErrorMessage(model, errorMessageKey,errorParam);if(null != backforKey && null != backForValue){model.addAttribute(backforKey, backForValue);}}/** * 服务于请求达到服务器端,未通过验证需要返回给请求页并添加提示(多个对象的回置) * @param model * @param backForObject  多个回置对象的Map集合 * @param errorMessageKey错误提示在国际化中的key * @param errorParam错误提示在国际化中需要的参数 */protected void handleFailureRequestWithMultiBackForObject(Model model,Map<String,Object> backForObject,String errorMessageKey,Object... errorParam){if(errorMessageKey!=null){sendErrorMessage(model, errorMessageKey, errorParam);}if(null != backForObject && !backForObject.isEmpty()){for(String key : backForObject.keySet()){model.addAttribute(key, backForObject.get(key));}}}}

message.properties

save.success=添加成功!update.success=更新成功!delete.success=删除成功!

sendNoticeWhenRedirect(redirectAttr, "save.success");



0 0