package com.zheng.cms.web.interceptor;
import com.zheng.cms.dao.model.CmsMenu;
import com.zheng.cms.dao.model.CmsMenuExample;
import com.zheng.cms.rpc.api.CmsMenuService;
import com.zheng.common.util.PropertiesFileUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
* 公共拦截器
* Created by shuzheng on 2017/3/25.
*/
public class CmsWebInterceptor extends HandlerInterceptorAdapter {
private static Logger _log = LoggerFactory.getLogger(CmsWebInterceptor.class);
@Autowired
private CmsMenuService cmsMenuService;
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
// 过滤ajax
if (null != request.getHeader("X-Requested-With") && request.getHeader("X-Requested-With").equalsIgnoreCase("XMLHttpRequest")) {
return true;
}
// zheng-ui静态资源配置信息
String appName = PropertiesFileUtil.getInstance().get("app.name");
String uiPath = PropertiesFileUtil.getInstance().get("zheng-ui.path");
request.setAttribute("appName", appName);
request.setAttribute("uiPath", uiPath);
// 菜单
CmsMenuExample cmsMenuExample = new CmsMenuExample();
cmsMenuExample.setOrderByClause("orders asc");
List<CmsMenu> menus = cmsMenuService.selectByExample(cmsMenuExample);
request.setAttribute("menus", menus);
return true;
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
super.postHandle(request, response, handler, modelAndView);
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
super.afterCompletion(request, response, handler, ex);
}
@Override
public void afterConcurrentHandlingStarted(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
super.afterConcurrentHandlingStarted(request, response, handler);
}
}