由于Spring6中移除了对Freemarker和JSP的支持所以导致无法直接使用${Request}了,那页面也就开始报错了,解决办法如下:
可以直接在原有PermissionInterceptor.java拦截器中添加以下方法
/**
* @param request request
* @param response response
* @param handler handler
* @param modelAndView modelAndView
* @throws Exception
*/
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
// 此处数据是preHandle方法set的loginUser信息
Object loginIdentityKey = request.getAttribute("XXL_JOB_LOGIN_IDENTITY");
if (null != modelAndView && null != loginIdentityKey) {
modelAndView.addObject("XXL_JOB_LOGIN_IDENTITY", loginIdentityKey);
}
}
如何使用:
以common.macro.ftl为例,${Request["XXL_JOB_LOGIN_IDENTITY"].username}修改为${XXL_JOB_LOGIN_IDENTITY.username}即可
忘记写环境了,补一下
目前:
spring-boot v-3.1.6
xxl-job v-2.4.0