jsp文件头

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>

web资源路径问题

是不是感觉写${pageContext.request.contextPath}/很长,比较费劲,有没有什么简写的方法呢?

现提供两种解决办法

方法一

  1. 存储的方式:

    在jsp文件开头,用一段Java代码将项目的路径存到pageContext域中,像下面那样
<%pageContext.setAttribute("appPath", request.getContextPath()); %>
  1. 取出的方式为:${appPath}/
<link rel="stylesheet" type="text/css" href="${appPath }/static/h-ui/css/H-ui.min.css" />

方式二

  1. 存储的方式:还是用一段Java代码,用一个简单的字符串来接收项目路径
<%String appPath = request.getContextPath()+"/"; %>
  1. 取出的方式为:<%=appPath%>
<link rel="stylesheet" type="text/css" href="<%=appPath %>static/h-ui/css/H-ui.min.css" />

注意:

HttpServletRequest request.getContextPath()得到的web项目路径是不带/的,例如/ssm-crm

pageHelper分页插件使用

  1. 加入jar包:核心jar包pagehelper-5.1.2.jar和依赖包jsqlparser-1.0.jar
  2. 在mybatis核心配置文件中增加注册插件的配置
<!-- pagehelper分页插件注册 -->
<plugins>
<plugin interceptor="com.github.pagehelper.PageInterceptor">
<!-- 分页参数合理化 -->
<property name="resonable" value="true" />
</plugin>
</plugins>
  1. Controller中使用方式
@RequestMapping(value = "/custs")
public String getCusts(@RequestParam(value = "pn", defaultValue = "1") Integer pn, Model model) {
// 调用PageHelper,启用分页查询,10为每页显示的记录数,也可以从页面传入,此时需要增加方法的参数 @RequestParam(value = "limit", defaultValue = "10")
// 这行代码一定要放在第一句,否则不能进行分页查询
PageHelper.startPage(pn, 10); List<Customer> list = customerService.getAll(); // 5为每页连续显示的页数
PageInfo<Customer> pageInfo = new PageInfo<>(list, 5); model.addAttribute("pageInfo", pageInfo); return "customer-list";
}

web编程jsp小tips的更多相关文章

  1. 不要忽视Web编程中的小细节

    概述:长时间以来,我们创造了某些在构造和范围内用以提升网站易用性的约定和实践.然后在我们进行web编程的时候总有一些疏忽和纰漏.这里总结了一些web编程时容易出现的小错误,并给出了相应的补救方法,希望 ...

  2. Web前端开发:SQL Jsp小项目(一)

    Jsp的学习算是告一段落,针对这段时间的学习,写了一个Jsp小项目来巩固学到的知识. 框架示意图 User list process UserAdd process 需要的界面效果: 需要工具:Ecl ...

  3. PHP求职宝典系列——PHP Web 编程篇

    PHP Web 编程篇 form表单 1.简述 POST 和 GET 传输的最大容量分别是多少? GET 方法提交的表单数据被附加到 URL 上,并作为URL 的一部分发送到服务器端. URL 的长度 ...

  4. Web编程基础--HTML、CSS、JavaScript 学习之课程作业“仿360极速浏览器新标签页”

    Web编程基础--HTML.CSS.JavaScript 学习之课程作业"仿360极速浏览器新标签页" 背景: 作为一个中专网站建设出身,之前总是做静态的HTML+CSS+DIV没 ...

  5. python web编程-概念预热篇

    互联网正在引发一场革命??不喜欢看概念的跳过,注意这里仅仅是一些从python核心编程一书的摘抄 这正是最激动人心的一部分了,web编程 Web 客户端和服务器端交互使用的“语言”,Web 交互的标准 ...

  6. 物联网网络编程、Web编程综述

    本文是基于嵌入式物联网研发工程师的视觉对网络编程和web编程进行阐述.对于专注J2EE后端服务开发的童鞋们来说,这篇文章可能稍显简单.但是网络编程和web编程对于绝大部分嵌入式物联网工程师来说是一块真 ...

  7. 全部编程皆为Web编程

    原文作者:Jeff Atwood   原文链接:http://blog.codinghorror.com/all-programming-is-web-programming Michael Brau ...

  8. 你不知道的JavaScript--Item17 循环与prototype最后的几点小tips

    1.优先使用数组而不是Object类型来表示有顺序的集合 ECMAScript标准并没有规定对JavaScript的Object类型中的属性的存储顺序. 但是在使用for..in循环对Object中的 ...

  9. 小tips:JS之浅拷贝与深拷贝

    浅拷贝: function extendCopy(p) { var c = {}; for (var i in p) { c[i] = p[i]; } return c; } 深拷贝: functio ...

随机推荐

  1. ConcurrentLinkedQueue 源码分析

    ConcurrentLinkedQueue ConcurrentLinkedQueue 能解决什么问题?什么时候使用 ConcurrentLinkedQueue? 1)ConcurrentLinked ...

  2. JS手写状态管理的实现(转)

    https://juejin.im/post/5c528411e51d456898361e43

  3. 44 答疑(三)--join的写法/Simple nested loop join的性能问题/Distinct和group by的性能/备库自增主键问题

    44 答疑(三) Join的写法 35节介绍了join执行顺序,加了straight_join,两个问题: --1 如果用left join,左边的表一定是驱动表吗 --2 如果两个表的join包含多 ...

  4. redis集群主从中断,报io过高 不错

    问题原因:1.由于这个集群redis操作非常频繁,1分钟操作数据达到1-2G,所有自动aof非常频繁,主从复制打包rdb也非常频繁,之前配置已经无法满足要求报异常如下6943:M 19 Jul 20: ...

  5. Mac013--Docker安装

    一.Docker安装教程 参考:http://www.runoob.com/docker/macos-docker-install.html 可应用brew命令安装,也可自定义下载安装. 应用brew ...

  6. github创建仓库,往github上上传自己的项目

    k第一步: 在github上创建仓库 第二步: 创建一个新的项目,填写项目名称,描述 创建完成之后,跳转到下面的页面,下面红框中的网址要记住,在后面上传代码的时候需要使用 这个地址必须要记住!!! 第 ...

  7. js 一道题目引发的正则的学习

    正则表达式中的特殊字符 字符 含意 \ 做为转意,即通常在"\"后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后/\b/,转意为匹配一个 ...

  8. sql select as

    as 可理解为:用作.当成,作为:一般式重命名列名或者表名.例如有表table, 列 column_1,column_2 你可以写成 select column_1 as 列1,column_2 as ...

  9. Linux中如何将系统调优

    Linux高可用服务器集群解决方案让IT系统管理员可以从容应对许多常见的硬件和软件故障,允许多台计算机一起工作,为关键服务正常运行提供保障,系统管理员可以不中断服务执行维护和升级.Linux服务器有各 ...

  10. SpringBoot(九) -- SpringBoot与数据访问

    一.简介 对于数据访问层,无论是SQL还是NOSQL,Spring Boot默认采用整合Spring Data的方式进行统一处理,添加大量自动配置,屏蔽了很多设置.引入各种xxxTemplate,xx ...