zoukankan      html  css  js  c++  java
  • 拦截器的使用,配置手机浏览器访问的h5页面

    package com.thinkgem.jeesite.modules.sys.interceptor;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import org.springframework.web.servlet.HandlerInterceptor;
    import org.springframework.web.servlet.ModelAndView;
    
    import com.thinkgem.jeesite.common.service.BaseService;
    import com.thinkgem.jeesite.common.utils.StringUtils;
    import com.thinkgem.jeesite.common.utils.UserAgentUtils;
    
    /**
     * 手机端视图拦截器
     * @author 
     * @version 2014-9-1
     */
    public class MobileInterceptor extends BaseService implements HandlerInterceptor {
    	
    	@Override
    	public boolean preHandle(HttpServletRequest request, HttpServletResponse response, 
    			Object handler) throws Exception {
    		return true;
    	}
    
    	@Override
    	public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, 
    			ModelAndView modelAndView) throws Exception {
    		if (modelAndView != null){
    			// 如果是手机或平板访问的话,则跳转到手机视图页面。
    			if(UserAgentUtils.isMobileOrTablet(request) && !StringUtils.startsWithIgnoreCase(modelAndView.getViewName(), "redirect:")){
    				modelAndView.setViewName("mobile/" + modelAndView.getViewName());
    			}
    		}
    	}
    
    	@Override
    	public void afterCompletion(HttpServletRequest request, HttpServletResponse response, 
    			Object handler, Exception ex) throws Exception {
    		
    	}
    
    }
    

      配置文件spring-mvc.xml:

    <!-- 拦截器配置,拦截顺序:先执行后定义的,排在第一位的最后执行。-->
    	<mvc:interceptors>
    		<mvc:interceptor>
    			<mvc:mapping path="${adminPath}/**" />
    			<mvc:exclude-mapping path="${adminPath}/"/>
    			<mvc:exclude-mapping path="${adminPath}/login"/>
    			<mvc:exclude-mapping path="${adminPath}/sys/menu/tree"/>
    			<mvc:exclude-mapping path="${adminPath}/sys/menu/treeData"/>
    			<mvc:exclude-mapping path="${adminPath}/oa/oaNotify/self/count"/>
    			<bean class="com.thinkgem.jeesite.modules.sys.interceptor.LogInterceptor" />
    		</mvc:interceptor>
    		<!-- 手机视图拦截器 -->
    		<mvc:interceptor>
    			<mvc:mapping path="/**" />
    			<bean class="com.thinkgem.jeesite.modules.sys.interceptor.MobileInterceptor" />
    		</mvc:interceptor>
    	</mvc:interceptors>
    

      

    www.beicaiduo.com
  • 相关阅读:
    Javascript模块化编程(三):require.js的用法
    【excle基础】如何去掉excel某一列中的字段的空格
    【阅读笔记】数据库管理员的第一本书阅读笔记
    【MYSQL命令】查看一个表的建表语句
    【MYSQL经验】MYSQL经验总结
    【数据库设计】数据库设计规范
    【MongoDB安装】MongoDB在centos linux平台安装
    【MYSQL命令】查看日志是否开启及日志过期天数
    【转】什么是原子性,什么是原子性操作?
    【redis的搭建】centos6.4下搭建redis
  • 原文地址:https://www.cnblogs.com/hoge66/p/8459826.html
Copyright © 2011-2022 走看看