美文网首页
velocity的macro

velocity的macro

作者: 不要变成发抖的小喵喵喵喵喵喵 | 来源:发表于2017-05-05 11:33 被阅读0次

分页

##分页控制器 
    ##pageRedirctUrl:$pageRedirctUrl="itemLoveList.do?category=$!{category}&currPageIndex="
    ##pageCount 总页数
    ##currPageIndex 当前页
#macro(pager $pageRedirctUrl,$pageCount,$currPageIndex)
        #set($nextPage=$!currPageIndex+1)
        #if($!currPageIndex==$!pageCount)
            #set($nextPage=$!pageCount)
        #end
        #set($prePage=$!currPageIndex+(-1))
        #if($!currPageIndex==1)
            #set($prePage=1)
        #end
        #set($firstPage="#addUrlParam($pageRedirctUrl,'page', 1)")
        #set($secondPage="#addUrlParam($pageRedirctUrl,'page', 2)")
        #set($lastPage="#addUrlParam($pageRedirctUrl, 'page',$pageCount)")
        #set($prePage="#addUrlParam($pageRedirctUrl,'page', $prePage)")
        #set($nextPage="#addUrlParam($pageRedirctUrl,'page',$nextPage)")
        #set($endPage="#addUrlParam($pageRedirctUrl,'page', $pageCount)")
            
   #if($pageCount>1) 
    <div class="dataTables_paginate paging_bootstrap pagination">
    <ul>
    #if($currPageIndex != 1)
        <li class="prev "><a href="$prePage">上一页</a></li>
    #else
        <li class="prev disabled"><a href="#">上一页</a></li>
    #end
    #if($pageCount >=9)
        #if($!{currPageIndex} !=1)
            <li><a href="$!{firstPage}">1</a></li>
        #else
            <li class="active"><a href="#">1</a></li>
        #end
        #if($!{currPageIndex} !=2)
            <li><a href="$!{secondPage}">2</a></li>
        #else
            <li class="active"><a href="#">2</a></li>
        #end
    #end
    
    #if(${currPageIndex} > $!{pageCount})
        #set(${currPageIndex} = $!{pageCount})
    #end
    
    #if($!{currPageIndex}>0)
        #if($!{pageCount} <=8)
            #set($pageStart =1)
                #set($pageEnd = $!{pageCount} - 1)
        #else
            #if($!{pageCount} - $!{currPageIndex}<=3)
                <li><a href="#">...</a></li>
            #set($pageStart =$currPageIndex - 2)
                #set($pageEnd = $!{pageCount} - 1)
            #else
                #if($!{currPageIndex}>=10)
                    <li><a href="#">...</a></li>
                    #set($pageStart =$currPageIndex - 3)
                    #set($pageEnd =$currPageIndex + 2)
                 #if(${pageEnd} > $!{pageCount})
                    #set(${pageEnd} = $!{pageCount})
                 #end
                    #set($afterApo = 1)
                #else   
                 #set($pageStart =3)
                    #set($pageEnd =$!{currPageIndex}+2)
                    #set($afterApo = 1)
                #end
            #end
        #end         
        #foreach($id in [${pageStart}..${pageEnd}])
            #if($!id==$!currPageIndex)
            <li class="active"><a href="#">$!{id}</a></li>
            #else
            <li><a href="#addUrlParam($pageRedirctUrl,'page',$!{id})">$!{id}</a></li>
            #end
        #end
     #end
  
     #if($!{pageCount}>1)
        #if($afterApo)
          <li><a href="#">...</a></li>
        #end
        #if($!pageCount!=$!currPageIndex)
          <li><a href="$!{endPage}">$!{pageCount}</a></li>
          <li class="next"><a href="$!{nextPage}">下一页 → </a></li>
        #else
          <li><a href="#">$!{currPageIndex}</a></li>
        #end
     #end   
        </ul>
    </div>
#end
#end

计算页码

##计算页码   $totalNum总数   $pageNum每页的页数
#macro(calcuPage $totalNum,$pageNum)
    #if($!{totalNum} && $!{pageNum})
        #if($totalNum == 0)
            1
        #else
            #set($result = ($totalNum - 1) / $pageNum + 1)
            $result
        #end
    #else
        1
    #end
#end

拼凑url参数的宏

#macro(addUrlParam $url, $paramName, $paramValue)
  #if($!{url} && $!{paramName} && $!{paramValue})
    #set($separator = "&")
    #if($!{url.indexOf("?")} == -1)
      #set($separator = "?")
    #end
    $url$separator$paramName=$!{paramValue}
  #end
#end

分解url参数的宏

#macro(removeUrlParam $url, $paramName, $paramValue)
  #if($!{url} && $!{paramName} && $!{paramValue})
    #set($beReplace=$!{paramName}+"="+$!{paramValue})
    #set($url=$!{url.replace($!{beReplace},"")})
    #set($url = $url.replace("&&", "&"))
    #set($url = $!{url.replace("?&", "?")})
    #if($url.endsWith("?"))
      #set($url = $!{url.replace("?", "")})
    #end
    #set($url = $!{url.replaceAll(" ","")})
    #set($url = $!{url.replaceAl(" ","")})
    #if($!{url.endsWith("&")})
      #set($url = $!{url.substring(0,$!{url.lastIndexOf("&")})})
    #end
    $url
  #end
 #end

在URL中添加查询参数

#macro(addQueryParam $url,$paramValue)
  #if($!{url})
    #if($!{url.indexOf("?")}<0)
      $!{url}?q=$paramValue
    #else
      #set($qIndex=$!{url.indexOf("q=")})
      #if($!{qIndex}<0)
        $!{url}&q=$!{paramValue}
      #else
        #set($beforeStr = $!{url.substring(0,$!{qIndex})})
        #set($afterStr = $!{url.substring($!{qIndex}, $!{url.length()})})
        #set($index=$!{afterStr.indexOf("&")})
        #if ($!{index}<0)
          ${url},$!{paramValue}
        #else
          #set($beforeStr1=$!{afterStr.substring(0,$!{index})})
          #set($afterStr1 = $!{afterStr.substring($!{index}, $!{afterStr.length()})})
           $!{beforeStr}$!{beforeStr1},$!{paramValue}$!{afterStr1}
        #end
      #end
    #end
  #end
#end

删除URL中的查询参数

#macro(removeQueryParam $url,$paramValue)
  #if($!{url})
    #if($!{url.contains(",$!{paramValue}")})
      $!{url.replace(",$!{paramValue}", "")}
    #elseif($!{url.contains("$!{paramValue},")})
      $!{url.replace("$!{paramValue},", "")}
    #elseif($!{url.contains("q=$!{paramValue}")})
      #set($str=$!{url.replace("q=$!{paramValue}","")})
      #if($!{str.contains("?&")})
        #set($str=$!{str.replace("?&","?")})
      #elseif($!{str.contains("&&")})
        #set($str=$!{str.replace("&&","&")})
      #elseif($!{str.endsWith("?")})
        #set($str = $!{str.substring(0,$!{str.lastIndexOf("?")})})
      #elseif($!{str.endsWith("&")})
        #set($str = $!{str.substring(0,$!{str.lastIndexOf("&")})})
      #end
      $!{str}
    #end
  #end
#end

初始化URL

#macro(initUrl $url)
  #if($!{url})
    #if($!{url.endsWith("?")})
      #set($url = $!{url.replace("?", "")})
    #end
    #set($url = $!{url.replace("?&", "?")})
      $url
  #end
#end

将数字格式化

#macro(discountFormat $discount)
  $number.format('#0.0',$discount)
#end

double类型小数点控制到后两位

#macro(numFormat $num)
  $number.format('#0.00',$num)
#end

文本长度控制,由于是字符串

##文本长度控制,由于是字符串
    ##str 需要长度控制的字符串
    ##maxLength 截取的最大长度
    ##subfix 后缀
#macro(previewText $str,$maxLength,$subfix)
    #if(!$!{str}||!$!{maxLength}||!$!{subfix})
        ##是空则不执行
    #else
        #if(${str.length()}>${maxLength})
            $!{str.substring(0,${maxLength})}$!{subfix}
        #else
            $!{str}
        #end
    #end
#end

格式化时间戳

#macro(formatTime $timestamp)
  $timestamp.toString().substring(0,19)
#end

将地区代码转换成对应的中文

##将地区代码转换成对应的中文
#macro(transAreaCode $areaCode)
    #if($!{areaCode})
    #if($areaCode == "340000")
        安徽
    #elseif($areaCode == "110000")
        北京
    #elseif($areaCode == "350000")
        福建
    #elseif($areaCode == "620000")
        甘肃
    #elseif($areaCode == "440000")
        广东
    #elseif($areaCode == "450000")
        广西
    #elseif($areaCode == "520000")
        贵州
    #elseif($areaCode == "460000")
        海南
    #elseif($areaCode == "130000")
        河北
    #elseif($areaCode == "410000")
        河南
    #elseif($areaCode == "230000")
        黑龙江
    #elseif($areaCode == "420000")
        湖北
    #elseif($areaCode == "430000")
        湖南
    #elseif($areaCode == "220000")
        吉林
    #elseif($areaCode == "320000")
        江苏
    #elseif($areaCode == "360000")
        江西
    #elseif($areaCode == "210000")
        辽宁
    #elseif($areaCode == "150000")
        内蒙古
    #elseif($areaCode == "640000")
        宁夏
    #elseif($areaCode == "630000")
        青海
    #elseif($areaCode == "370000")
        山东
    #elseif($areaCode == "140000")
        山西
    #elseif($areaCode == "610000")
        陕西
    #elseif($areaCode == "310000")
        上海
    #elseif($areaCode == "510000")
        四川
    #elseif($areaCode == "120000")
        天津
    #elseif($areaCode == "540000")
        西藏
    #elseif($areaCode == "650000")
        新疆
    #elseif($areaCode == "530000")
        云南
    #elseif($areaCode == "330000")
        浙江
    #elseif($areaCode == "500000")
        重庆
    #end
    #end
#end

计算分润

## $totalAmount
## $userRate
## $superiorRate 

#macro(calcuBenefit $totalAmount,$userRate,$superiorRate)
  #set($allBenefit = $math.mul($!{totalAmount},$!{userRate}))
  #set($superiorBenefit = $math.mul($!{totalAmount},$!{superiorRate}))
  $number.format("#0.00",$math.sub($allBenefit,$superiorBenefit))
#end

相关文章

  • velocity的macro

    分页 计算页码 拼凑url参数的宏 分解url参数的宏 在URL中添加查询参数 删除URL中的查询参数 初始化UR...

  • velocity基本使用

    1. Velocity 开发 apache Velocity开发指导传送门 1.1 Velocity使用流程 初始...

  • 模板引擎velocity

    本文基于 Velocity 1.7 版本撰写。 概述 什么是Velocity? Velocity是一个基于java...

  • 宏(Macro)指的是 Rust 中一系列的功能 声明(Declarative)宏, 使用macro_rules!...

  • RNA velocity处理流程

    关于RNA velocity RNA velocity介绍[https://www.jianshu.com/p/7...

  • OC - iOS - 宏单例

    Macro单例

  • JS事件循环机制之宏任务/微任务

    宏任务(macro-task)macro-task.png 微任务(micro-task)micro-task.p...

  • 破解 Velocity

    1. Velocity (Dash for Windows) Velocity 是一款API查询工具,是Dash在...

  • Eclipse使用

    eclipse velocity插件

  • Velocity

    Velocity入门链接 https://blog.csdn.net/qq_25237663/article/de...

网友评论

      本文标题:velocity的macro

      本文链接:https://www.haomeiwen.com/subject/oqmjtxtx.html