在spring拦截器中response输出html标签到页面

时间:2024-01-17 11:48:50
  @Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
String tokenValue = request.getParameter(FORM_TOKEN);
HandlerMethod handlerMethod = (HandlerMethod) handler;
Method method = handlerMethod.getMethod();
boolean isDuplicateSubmitType = method.isAnnotationPresent(DuplicateSubmit.class);
if (isDuplicateSubmitType) {
long result = cacheManager.increment(tokenValue);
cacheManager.setString(tokenValue, "1", 5000);
// 判断返回值是否大于1,如果是则重复提交
if (result > 1) {
LOGGER.error("【" + request.getRequestURL() + "==>" + method.getName() + "】" + "的方法表单重复提交");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.write("重复提交 <a href= 'javascript:history.go(-1)'>点击返回</a>");
out.close();
return false;
}
}
return true;
}

背景:在spring的连接器中,当preHandle返回false的时候,由于没有重定向页面,提示一句话