由于使用到了 Velocity 模板,有时候须要显示 $!{obj} 这样的内容。html
其实也就是 在页面直接显示 $!{obj} , 而不是显示 obj 内容.java
//若是$foo未定义过
$foo 输出:$foo
\$foo 输出:\$foo
\\$foo 输出:\\$foo
\\\$foo 输出:\\\$fooweb
//若是$foo已经定义过
#set($foo="bar")
$foo 输出:bar
\$foo 输出:$foo
\\$foo 输出:\bar
\\\$foo 输出:\$foo htm
参考地址: http://www.51gjie.com/javaweb/899.htmlci
而后我就是 尝试了一下 : content="$\!webPath"文档
生成的内容就是 content="$!webPath" 了,字符串
在 $ 前加 \ 便可,it
可是有些 特殊状况,或者特殊符号,就可能很难搞了,去百度啊,什么的太难找了。模板
并且 文档资料太少了。不过咱们有终极大招效率
终极处理显示特殊符号
#set($websiteCss1="$!{")
#set($websiteCss2="config.websiteCss}")
$websiteCss1$websiteCss2
这样子生成的模板就会显示 : $!{config.websiteCss}
这样子了,其余特殊符号,都是能够采用这样的拼接字符串的笨方式的,貌似也不算效率低吧
某些特殊符号不能显示出来
好比说 , #* *#
这样的注释 符号,
#set($websiteCss1="#*")
结果生成的模板文件, 竟然是 原样的:
#set($websiteCss1="#*")
根本不能自定义属性内容是 #* 或者 *# 或者 . 逗号, 或者 $! , $ 这样的符号。。。
并且 建议使用 ${obj} 这样的写法,而不是 $obj ,总之带上 {} 会更加规范,这样生成的内容出现的问题也就会越少。
若是给我选择,我不会选择这个模板,使用 freemarker 就会好不少, 并且 模板出错了,提示也会更加的友好。