freemarker模板引擎自定义分页

需求:需要把原有的vue页面改成静态化页面,前端给了静态化模板,直接复制至ftl模板文件中,具体动态的参数重新从后台拿值渲染。

Java代码:

//页码

int pageIndex;

int pageIndex1;

//每页数量

int pageSize =9;

//总条数

int total  =iSysExhibitionService.selectSysExhibitionsListCount(new SysExhibition());

// 向上取整

int num = (int)Math.ceil(((double)total/pageSize));

//有多少页生成多少个html

for (int i=1;i<=num;i++){

System.out.println(i);

    pageIndex=i;

    pageIndex1=i;

    int pageIndexNum = --pageIndex;

    List list =iSysExhibitionService.selectSysExhibitionsList2(new SysExhibition(){{

setPageIndex(pageIndexNum *pageSize);

        setPageSize(pageSize);

    }});

    int finalPageIndex = pageIndex1;

    Map map1 =new HashMap(){{

put("list", list);

        put("currentPage", finalPageIndex);//当前页

        put("totalPage", num);//总页数

        put("actionUrl", config.getPath());//首页地址

        put("detailPath", config.getDetailPath());//详情地址

    }};

    freemarkerUtil.generate(config.getUrl(),"index.ftl", "index"+i, map1);

}

ftl模板代码:

currentPage :当前页

totalPage:总页数

actionUrl:分页html存放地址

<#-- 上一页按钮-->

<#if (currentPage >1)>

    <a class="pg-prev" href="${actionUrl}${currentPage -1}.html" page-id="${currentPage -1}">

<#else>

    <a class="pg-prev" page-id="0">

</#if>

<#-- 第一页按钮-->

<#if 1 == currentPage>

    <span class="current" page-id="1">1

<#else>

    <a href="${actionUrl}1.html" page-id="1">1

</#if>

<#--中间页数-->

<#if (totalPage<7)>

    <#if ((totalPage -1)>=2)>

        <#list 2..(totalPage -1)as i>

            <#if currentPage == i>

                <span class="current" href="${actionUrl}${i}.html" page-id="${i}">${i}

            <#else>

                <a href="${actionUrl}${i}.html" page-id="${i}">${i}

            </#if>

        </#list>

    </#if>

<#else>

    <#if (currentPage <6)>

        <#list 2..5 as i>

            <#if currentPage == i>

                <span class="current" href="${actionUrl}${i}.html" page-id="${i}">${i}

            <#else>

                <a href="${actionUrl}${i}.html" page-id="${i}">${i}

            </#if>

        </#list>

        <#if ((currentPage +2) <= totalPage)>

            <a>...</a>

        </#if>

<#else>

        <#if ((totalPage - currentPage) <5)>

            <#if ((totalPage -4) >2)>

                <a>...</a>

            </#if>

            <#list (totalPage -4)..(totalPage -1)as i>

                <#if currentPage == i>

                    <span class="current" href="${actionUrl}${i}.html" page-id="${i}">${i}

                <#else>

                    <a href="${actionUrl}${i}.html" page-id="${i}">${i}

                </#if>

            </#list>

<#else>

           <a>...</a>

            <#list (currentPage -2)..(currentPage +2)as i>

                <#if currentPage == i>

                    <span class="current" href="${actionUrl}${i}.html" page-id="${i}">${i}

                <#else>

                    <a href="${actionUrl}${i}.html" page-id="${i}">${i}

                </#if>

            </#list>

            <a>...</a>

        </#if>

    </#if>

</#if>

<#-- 最后一页按钮-->

<#if (totalPage >1)>

    <#if totalPage  == currentPage>

        <span class="current" page-id="${totalPage}">${totalPage}

    <#else>

        <a href="${actionUrl}${totalPage}.html" page-id="${totalPage}">${totalPage}

    </#if>

</#if>

<#-- 下一页按钮-->

<#if (currentPage +1 > totalPage)>

    <a class="pg-next" page-id="${totalPage}">

<#else>

    <a class="pg-next" href="${actionUrl}${currentPage +1}.html" page-id="${currentPage +1}">

</#if>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。