博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
springmvc 实现pc端手机端适配(同一个请求根据不同客户端展示不同界面)
阅读量:6826 次
发布时间:2019-06-26

本文共 2887 字,大约阅读时间需要 9 分钟。

转自:https://my.oschina.net/scipio/blog/477854

主要解决两个问题:

A、对于mobile的请求和pc端的请求,自动使用不同的模板目录
B、对于返回json还是返回ftl,由springMVC自己判断,controller方法只写一个

1、maven依赖

org.springframework.mobile
spring-mobile-device
1.1.0.RELEASE

2、配置多内容版本

配置.json的请求返回json,其他返回view

3、配置viewResolver

配置mobile来的请求ftl的走mobile目录下模板

4、配置device判断

5.测试

/* * Copyright 2008-2018 shopxx.net. All rights reserved. * Support: http://www.shopxx.net * License: http://www.shopxx.net/license * FileId: mFgPu27MEMKx2FdJguKD8D8/mA79BmNG */package net.shopxx.controller.shop;import javax.inject.Inject;import org.springframework.stereotype.Controller;import org.springframework.ui.ModelMap;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RequestMapping;import net.shopxx.service.ProductCategoryService;/** * Controller - 商品分类 *  * @author SHOP++ Team * @version 6.1 */@Controller("shopProductCategoryController")@RequestMapping("/product_category")public class ProductCategoryController extends BaseController {    @Inject    private ProductCategoryService productCategoryService;    /**     * 首页     */    @GetMapping    public String index(ModelMap model) {        model.addAttribute("rootProductCategories", productCategoryService.findRoots(5,0));        return "shop/product_category/index";        //手机端过来执行了 return "shop/product_category/index" 但是最后实际走的是 return "mobile/shop/product_category/index"    }        @GetMapping("pointCategory")    public String pointCategory(ModelMap model) {        model.addAttribute("rootProductCategories", productCategoryService.findRoots(5,1));        return "shop/product_category/index_point";    }

注意:

//手机端过来执行了 return "shop/product_category/index" 但是最后实际走的是 return "mobile/shop/product_category/index",也就是说你的mobile目录下要包含这样一个目录文件:
shop/product_category/index,index其实是一个index.ftl文件

 

转载于:https://www.cnblogs.com/longsanshi/p/10820912.html

你可能感兴趣的文章
按照不同节点优先级,分布不同任务算法
查看>>
翻译器DIY————次序
查看>>
easyui form 提交问题,纠结了很久,有点诡异
查看>>
Swift - 图像控件(UIImageView)的用法
查看>>
Cloneable接口和Object的clone()方法
查看>>
[saiku] 连接 mondrain 数据源出错-空指针错误
查看>>
【转发】未能加载文件或程序集“Oracle.DataAccess”或它的某一个依赖项。试图加载格式不正确的程序。...
查看>>
ORACLE和SQL SERVER的数据同步常用方法
查看>>
easyui 入门
查看>>
KMP算法之从next[]到nextVal[] (转)
查看>>
JAVA操作properties文件
查看>>
GoldenGate中使用FILTER,COMPUTE 和SQLEXEC命令
查看>>
自执行函数的一些总结
查看>>
Lintcode: Add Binary
查看>>
人大、上财、复旦、上交四校2013年应届金融硕士就业去向
查看>>
技能UP:SAP OBYC自动记账的实例说明(含value String应用说明)
查看>>
[转]【HTTP】Fiddler(二) - 使用Fiddler做抓包分析
查看>>
Cts框架解析(8)-IBuildProvider
查看>>
Tomcat 项目部署方式
查看>>
微软收购Xamarin,你怎么看?
查看>>