jsp+urlrewrite实现html分页简单粗暴实现

简介: 今天去检查一同事写的一分页实现,看了有点郁闷,都说了要换成html实现方便搜索引擎收录,他还是用的js,真是晕。还得帮他解决 好吧。言归正传,我在他的基础上粗暴的修改了下,达到了基本的效果,带数字分页 先一步一步来,在controller层model里面增加控制起始和结束页,pageUrl ...

今天去检查一同事写的一分页实现,看了有点郁闷,都说了要换成html实现方便搜索引擎收录,他还是用的js,真是晕。还得帮他解决

好吧。言归正传,我在他的基础上粗暴的修改了下,达到了基本的效果,带数字分页

先一步一步来,在controller层model里面增加控制起始和结束页,pageUrl

先简单粗暴点把分页的显示逻辑理好让效果出来,再把分页url放到pageUrl,然后再进一步做html伪静态

复制代码
     <div class="tcdPageCode2">
                <c:if test="${pageNum>1}">
                    <a href="${pageUrl}?pageNum=1" class="tcdNumber">首页</a>
                    <a href="${pageUrl}?pageNum=${pageNum-1}"> < 上一页</a>
                </c:if>
                <c:forEach var="i" begin="1" end="${totalPage}" step="1">
                    <c:if test="${pageNum==i}">
                        <a class="current">${i}</a>
                    </c:if>
                    <c:if test="${pageNum!=i}">
                        <a href="${pageUrl}?pageNum=${i}" class="tcdNumber">${i}</a>
                    </c:if>
                </c:forEach>
                <c:if test="${totalPage>endPage}">
                    <a href="${pageUrl}?pageNum=${endPage+1}">...</a>
                </c:if>

                <c:if test="${pageNum<totalPage}">
                    <a href="${pageUrl}?pageNum=${pageNum+1}">下一页  > </a>
                    <a href="${pageUrl}?pageNum=${totalPage}" class="tcdNumber">尾页</a>
                </c:if>
            </div>
复制代码

上面这种需要自己手动来控制...的显示。当然这个有很多逻辑,你可以根据实现的效果来设计

 

第二种实现方式,就不用上面新加的代码,直接用下面已有的变量

复制代码
<div class="tcdPageCode1">
                <c:if test="${pageNum== 1}">
                    <a class="tcdNumber">首页</a>
                    <a class="tcdNumber">上一页</a>
                </c:if>
                <c:if test="${pageNum != 1}">
                    <a href="${pageUrl}?pageNum=1" class="tcdNumber">首页</a>
                    <a href="${pageUrl}?pageNum=${pageNum-1}" class="tcdNumber">上一页</a>
                </c:if>
                <c:if test="${pageNum-3 <= totalPage && pageNum > 2}">
                    <a  href="${pageUrl}?pageNum=1"  <c:if test="${pageNum==1 }">class="current"</c:if>>1</a><a  class="tcdNumber">...</a></c:if>
                <c:forEach begin="0" end="${totalPage-1}" varStatus="status">
                    <c:if test="${pageNum - status.index >= -1 && pageNum <= status.index+2}">
                        <a <c:if test="${pageNum==status.index + 1 }">class="current"</c:if>
                        href="${pageUrl}?pageNum=${status.index+1 }">${status.index+1 }</a>
                </c:if>
                </c:forEach>
                <c:if test="${pageNum+2 < totalPage}"><a >...</a><a
                        href="${pageUrl}?pageNum=${totalPage}" class="tcdNumber">${totalPage }</a></c:if>
                <c:if test="${pageNum ==totalPage}">
                    <a class="tcdNumber">下一页</a>
                    <a class="tcdNumber">尾页</a>
                </c:if>
                <c:if test="${pageNum !=totalPage}">
                    <a href="${pageUrl}?pageNum=${pageNum+ 1}" class="tcdNumber">下一页</a>
                    <a href="${pageUrl}?pageNum=${totalPage}" class="tcdNumber">尾页</a>
                </c:if>
                <p>
                    当前第${pageNum}页 总共${totalPage}页
                </p>
            </div>
复制代码

 

好了。这里分页部分弄好了。其实如果有需求加select 跳转 也好实现的。

下面来弄urlrewrite实现伪静态了

 maven中引入 urlrewrite包

        <dependency>
            <groupId>org.tuckey</groupId>
            <artifactId>urlrewrite</artifactId>
            <version>2.5.2</version>
        </dependency>

 

在web.xml里面配置

复制代码
    <!-- url重写start -->
    <filter>
        <filter-name>UrlRewriteFilter</filter-name>
        <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>UrlRewriteFilter</filter-name>
        <url-pattern>/*</url-pattern>
        <dispatcher>REQUEST</dispatcher>
        <dispatcher>FORWARD</dispatcher>
    </filter-mapping>
    <!-- url重写end -->
复制代码

再在web.xml根目录下加一个urlrewrite.xml配置文件

复制代码
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 3.0//EN"
        "http://tuckey.org/res/dtds/urlrewrite3.0.dtd">
<!-- Configuration file for UrlRewriteFilter http://tuckey.org/urlrewrite/ -->
<urlrewrite>
     <!--<rule>
        <from>/name/(.*)</from>
        <to>/MyName.jsp?name=$1</to>
    </rule>-->
   <rule>
      <from>/xinniuBBS/baike/([0-9]+).html</from>
      <to>/xinniuBBS/baike?pageNum=$1</to>
   </rule>
</urlrewrite>
复制代码
目录
相关文章
|
4月前
|
缓存 Java 应用服务中间件
SpringMVC入门到实战------七、SpringMVC创建JSP页面的详细过程+配置模板+实现页面跳转+配置Tomcat。JSP和HTML配置模板的差异对比(二)
这篇文章详细介绍了在SpringMVC中创建JSP页面的全过程,包括项目的创建、配置、Tomcat的设置,以及如何实现页面跳转和配置模板解析器,最后还对比了JSP和HTML模板解析的差异。
SpringMVC入门到实战------七、SpringMVC创建JSP页面的详细过程+配置模板+实现页面跳转+配置Tomcat。JSP和HTML配置模板的差异对比(二)
|
4月前
|
前端开发 JavaScript Java
springmvc前端jsp与html
在Spring MVC框架中,前端页面既可以使用JSP(JavaServer Pages)也可以使用HTML,具体使用哪一种或哪几种技术,主要取决于项目的需求、团队的熟悉度以及项目的可维护性等因素。
37 2
|
6月前
|
SQL JSON Java
老程序员分享:Jsp分页实例
老程序员分享:Jsp分页实例
37 0
|
6月前
|
Java
杨校老师课堂之Html页面快速转为jsp页面之工具类【简直太简单好用】
杨校老师课堂之Html页面快速转为jsp页面之工具类【简直太简单好用】
35 0
|
7月前
|
移动开发 JavaScript 前端开发
HTML ,XHTML,HTML5简介,js,JSP与Servlet的关系理解
HTML ,XHTML,HTML5简介,js,JSP与Servlet的关系理解
89 5
|
前端开发 Java
通用分页进阶之jsp之自定义标签
通用分页进阶之jsp之自定义标签
37 1
|
Java
html替换成jsp界面字体图标不显示问题
html替换成jsp界面字体图标不显示问题
41 0
|
JavaScript 前端开发 Java
Eclipse编辑HTML,JSP,JS等时的卡顿问题,非常有效!!!
Eclipse编辑HTML,JSP,JS等时的卡顿问题,非常有效!!!
137 0
|
前端开发 Java 测试技术
JSP自定义通用分页详解(下)
JSP自定义通用分页详解(下)
73 0
|
SQL Java 关系型数据库
JSP自定义通用分页详解(上)
JSP自定义通用分页详解(上)
89 0