11_01_25VTL模板使用要点

原创 2011年01月25日 13:15:00

1、实现分页功能

##//当前导航(此处为一级导航,假设为:教育动态)
#set($currentNav = ${root.getNavigations()})
#set($nsv = $currentNav.get($root.decrease($currentNav.size())))

##//循环一级菜单下的二级菜单
#foreach($child in ${root.db.listNavigations(${nsv.topicName},${nsv.name})})
<li><a href="$child.url">$child.name</a></li>
#end

##//热点新闻
##设置为空,则返回所有新闻的热点新闻。
#set($strztrd="")  
#set($zhtrdstwo = $root.getDb().listByHotClicks(${nsv.topicName},$strztrd,11))
#foreach($ztrdt in $zhtrdstwo)
<li><img src="public/pgjyw/images/news/list4.jpg" /><a href="${ztrdt.url}">${ztrdt.title}</a></li>
#end

##//最新新闻
##为空,为所有新闻最新的信息。
#set($zxstr="")  
#set($zxddts = $root.getDb().listByNavigation(${nsv.topicName},$zxstr,11))
#foreach($zxt in $zxddts)
<li><img src="public/pgjyw/images/news/list4.jpg" /><a href="$zxt.url">$zxt.title</a></li>
#end

##//招考信息
##获取招考信息
#set($zhshxx=$shyoneChild.get(5).name)

##说明:获取二级菜单字符串。
#set($twoChild=${root.db.listNavigations(${shycurNav.topicName},${zhshxx})})
#set($ns = $root.decrease($twoChild.size()))##减一位
#set($navName='')
#foreach($i in [0..$ns])
    #set($navName = $navName +',' + ${twoChild.get(${i}).name})
#end
#set($navName = $zhshxx + $navName)

##说明:循环新闻标题。
#set($llsit = $root.getDb().listByNavigation(${shycurNav.topicName},$navName,10))

<div class="new3">        
    <div style="height:278px;">
        <div class="new-title1">
            <div class="nt">${zhshxx}</div>
            <div class="more"><a href="/zkxx">more…</a></div>
        </div>
        <ul class="new-list">
            #foreach($n in $llsit)
            <li class="nle-title">
                  <img src="public/pgjyw/images/news/list1.jpg" />
                  <a href="${n.url}">${n.title}</a>
            </li>
            #end
        </ul>
菜单:$navName
     </div>
     <div class="new-title2" ></div>
</div>


##//组装二级导航成字符串
#set($sl = ${root.db.listNavigations(${nsv.topicName},${nsv.name})})    ##说明:得到二级导航sl数组。
#set($ns = $root.decrease($sl.size()))##得到最后一个值的下标。
#set($navName='')
#foreach($i in [$ns..0])
#set($navName = $navName + ${sl.get(${i}).name} + ',')
#end
#set($navName = $navName + ${nsv.name})

##///分页功能
#**
* 显示列表内容 定义为宏
*#
#macro(lato $aList)
 <ul>
  #foreach($article in $aList)
    <li class="nle-title"><img src="public/pgjyw/images/news/list1.jpg" /><a href="${article.url}" target="">${article.title}</a></li>
    <li class="nle-time"><div>${article.createdAt}</div></li>
  #end
  </ul>
#end

#**
* 文章列表
* @param topicName 导航
* @param navigation 导航
* @param pageCount 限制条数
*#
#macro(ptb1 $url $topicName $navigation $count)
        #if(!$count)
             #set($count=2)        ##设置$count
        #end 
        #if(${root.params.limit})            
             #set($pageCount = $root.params.getInt("limit")) ##设置$pageCount
        #end   
        #if(!$pageCount)   
            $root.getParams().set("limit",${count.toString()})
            #set($pageCount=$count)
         #end         
        #set($page=${root.db.listByNavigation($topicName,$navigation)})

        #**总页数*#
        #set($totalPages=$page.totalCount/$page.limit)   
        #if($page.totalCount%$page.limit>0)
            #set($totalPages=$totalPages+1)
        #end

    #**当前页*#
    #set($currentPage=$page.start/$page.limit+1)
    #**上一页*#
    #set($lastCount= $page.start - $pageCount)
    #**下一页*#
    #set($nextCount= $page.start + $pageCount)
        #**最后一页*#
        #set($endCount= ($totalPages - 1) * $pageCount)
     
    #**当前显示开始*#
    #set($showBign = $page.start+1)
    #**当前显示结束*#
    #set($showEnd = $page.start + $pageCount)
    #if($showEnd > $page.totalCount)
        #set($showEnd = $page.totalCount)
    #end
        #**是否第一页*#
        #set($isFirstPage=$page.start==0)
        #**是否最后一页*#
        #set($isLastPage=$showEnd==$page.totalCount)
   
    <div class="new-list-e">
        #lato($page.result)
        <div style="clear:both;"></div>
    </div>
    <div class="fy">
        #if(${totalPages}>1)
            当前显示${showBign}-${showEnd}&nbsp;总${page.totalCount}条&nbsp;
                #if(!$isFirstPage)
                    <a href="${url}?start=0&limit=$pageCount">
                #end
                    <img width="13" height="14" src="public/pgjyw/images/news/fy_first.jpg" />
                #if(!$isFirstPage)
                    </a>
                #end &nbsp;
                #if(!$isFirstPage)
                    <a href="${url}?start=${lastCount}&limit=$pageCount">
                #end
                    <img width="11" height="14" src="public/pgjyw/images/news/fy_before.jpg" />
                #if(!$isFirstPage)
                                        </a>
                #end &nbsp;
            第<input type="text" class="now-page" name="page" size="8" value="${currentPage}" />页&nbsp;
            共&nbsp;<label>${totalPages}</label>&nbsp;页&nbsp;
                #if(!$isLastPage)
                    <a href="${url}?start=${nextCount}&limit=$pageCount">
                #end
                    <img width="11" height="14" src="public/pgjyw/images/news/fy_next.jpg" />
                #if(!$isLastPage)
                    </a>
                #end &nbsp;
                #if(!$isLastPage)
                    <a href="${url}?start=${endCount}&limit=$pageCount">
                #end
                    <img width="13" height="14" src="public/pgjyw/images/news/fy_last.jpg" />
                #if(!$isLastPage)
                    </a>
                #end
        #end
    </div>
        #**-------当前页:${currentPage},总页数:${totalPages},开始页:${page.start},每页条数:${pageCount}   *#
#end

CodeReview要点以及CodeReview报告模板

codeReview
  • Spark2008
  • Spark2008
  • 2016年05月18日 14:16
  • 1579

html5的技术要点

转载备用
  • foren_whb
  • foren_whb
  • 2016年03月11日 14:21
  • 689

ios 技术要点整理

1.Difference between shallow copy and deep copy?
浅复制和深复制的区别?
 答案:浅层复制:只复制指向对象的指针,而不复制引用对象本身。
深层复制:复...
  • lfr_dev
  • lfr_dev
  • 2014年05月22日 10:37
  • 937

C++函数模板的使用

函数模板: 函数模板是函数的蓝图或处方,编译器使用它生成函数系列的新成员。新函数在第一次使用时创建。从函数模板中生成的函数称为该模板的一个实例或模板的实例化。函数模板的开头是关键字template,表...
  • u010142437
  • u010142437
  • 2014年06月17日 15:40
  • 1384

为什么使用类模板

在前面的几章中,我们主要学习了函数m
  • yincheng01
  • yincheng01
  • 2014年07月23日 16:21
  • 1264

android技术要点梳理

面试心得
  • russe124
  • russe124
  • 2016年05月03日 15:52
  • 316

送給準備寫論文的同學 latex模板和使用方法

转载自:http://zizhizy.diandian.com/post/2010-02-26/16128121 模板的下载地址在这里 http://cid-c0a3fa3a1bc...
  • memray
  • memray
  • 2015年03月22日 01:21
  • 8045

类模板的定义和使用

在前面的几章,我们已经
  • yincheng01
  • yincheng01
  • 2014年07月26日 13:02
  • 1741

Tomcat使用技巧最新总结

Tomcat使用技巧最新总结小五游侠 2015/7/22 22:30:29 1. 相信各位都会使用tomcat的另外两种部署模式,其一是将项目放到webapps目录下,其二是在tomcat的serv...
  • ccw55
  • ccw55
  • 2015年07月22日 23:17
  • 890

测试要点的提取

题目要求 1、登录界面的标题为“航班预订登录界面”; 2、代理名称由4位或者以上的字母和数字组成,不超过8位,不能由纯数字组成或者数字开头,否则系统提示给出相应的提示“代理名称不能由纯数字组成,请...
  • wendy_yuanyuan
  • wendy_yuanyuan
  • 2015年09月19日 19:31
  • 796
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:11_01_25VTL模板使用要点
举报原因:
原因补充:

(最多只允许输入30个字)