美文网首页
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

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