🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] ## 模板目录 ├─根目录 │ ├─WEB-INF │ │ ├─template │ │ │ ├─admin │ │ │ │ ├─frame//后台核心业务模板 │ │ │ │ ├─table//后台通用页面模板 │ │ │ │ ├─weixin//后台微信接口管理业务模板 │ │ │ │ ├─...其他后台公用模板 │ │ │ ├─...其他模板目录 >[info] 一般在后台管理框架内的业务,建议在admin下面新建目录存放模板,比如你新建一个应用(业务)是商品进销存,你的应用名是erp,你的模板目录可以也是erp(不强制),模板目录就是**admin/erp/**。 >[info] 非后台管理框架内的业务,比如说你的业务是对外的,如商品销售、网站前台等,建议在template下面新建目录存放模板,**template/业务模板目录** >[danger] 千万别把jsp文件暴露在WEB-INF外,1不符合规范,2不安全 ## 模板常量 ### 1、访问WEB的绝对地址 ``` ${APP} ``` >[info]条件:控制器至少继承BaseController或者其子类 ### 2、访问静态目录地址 ``` ${JS}指向http://你的访问地址/statics/tag/js/ ${CSS}指向http://你的访问地址/statics/tag/css/ ${IMG}指向http://你的访问地址/statics/tag/images/ ``` >[info]条件:控制器继承了AdminBaseController或者其子类 ### 3、自定义静态目录 >[info] 可以在你的控制器中,重写beforeProtected方法,如下 ``` package cn.lcfms.app.index.controller; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import cn.lcfms.app.admin.controller.AdminBaseController; @Controller("index.IndexController") @RequestMapping("/index/index") public class IndexController extends AdminBaseController{ @Override protected void beforeProtected(HttpServletRequest request, HttpServletResponse response) { String basePath=(String) request.getAttribute("APP"); request.setAttribute("JS", basePath+"statics/你的静态目录/js/"); request.setAttribute("CSS", basePath+"statics/你的静态目录/css/"); request.setAttribute("IMG", basePath+"statics/你的静态目录/images/"); super.beforeProtected(request, response); } @RequestMapping("/index") public String index() { return "index/index"; } } ``` ### 4、用户个人信息 ``` ${USERINFO.key} ``` [详情查看请用户信息](用户信息.md)