velocity中字串拼接空格處理
實踐:**:
京東支付##
#if($index > 1) 、
#end
#end
#if($textdisplay.indexof("wxsys")>=0)
#if($index > 2) 、
#end
#end
#if($textdisplay.indexof("zfb")>=0)
支付寶##
#if($index > 3) 、
#end
#end
掃一掃,向我付款
掃一掃,向我付款
拼接字串中行首不能縮排
實際效果:
空格效果:
velocity的坑——字串首尾的空格那些事
部落格分類:
velocity
最近的專案採用velocity 1.7作為模板引擎,幾天用下來,感覺還是挺爽的。不過今天發現乙個坑:macro裡面如果有多行的話,輸出的字串前後都被加上了換行和空格。直接上**:
js**
#macro(getcontextpath)
#if($root.lastindexof('/') == 0)
#set($root = $root + '/')
#end
$root
#end
呼叫:js**
aa#aa
輸出:
js**
aa /web/ aa
中間確實多了空格,我的目的是所有的url字首都加上這個context路徑,比如:
html**
href
="#menu/list"
>
***最終我看到的結果會是這樣:
html**
href
="# /web/ menu/list"
>
***很明顯這不符合我的要求。
網上搜了一把,終於在velocity的wiki搜到了解決方案,
第一種方案,把macro裡面的所有語句寫成一行(不要換行),在行的末尾加上
##
這種方案缺點很明顯,程式完全不具備可讀性。
第二種方案(
會英文的,上面的鏈結開啟,拉到底部,那段就是解決方案
),直接上**:
js**
#macro(getcontextpath)
#if($root.lastindexof('/') == 0)
#set($root = $root + '/')
#end
$root##
#end
解釋下:
行首不能縮排
,否則還是有空格;(這是去除字串前面的空格和換行)
輸出資料的行(上面$root是輸出資料的)末尾需要加上
##
(這是去除字串尾部的空格)
ps:上面的**是獲取servlet的context路徑。
拼接字串
border 1 class box 標籤名稱th 是否顯示th 標籤順序th tr thead 首頁td class check 是option 否option select td class number 1option 2option 3option 4option 5option 6opti...
字串拼接
給定兩個字串s1和s2,合併成乙個新的字串s。合併規則為,s1的第乙個字元為s的第乙個字元,將s2的最後乙個字元作為s的第二個字元 將s1的第二個字元作為s的第三個字元,將s2的倒數第二個字元作為s的第四個字元,以此類推。包含多組測試資料,每組測試資料報含兩行,代表長度相等的兩個字串s1和s2 僅由...
字串拼接
本文總結記錄linux c中有關字串的拼接方法,strncat 和 snprintf 函式 一 strncat 實現字串拼接 char strncat char dest,const char src,size t n 宣告,n 為 src 字串長度 char strncat char dest,c...