Java中Velocity转义字符详解
Java中Velocity的转义字符通常用'\'进行修饰转义。在Velocity中,$具有特殊含义,若希望$作为普通的字符来处理,应采用\$的形式。
普通转义
//如果$foo未定义过 $foo 输出:$foo \$foo 输出:\$foo \\$foo 输出:\\$foo \\\$foo 输出:\\\$foo //如果$foo已经定义过 #set($foo="bar") $foo 输出:bar \$foo 输出:$foo \\$foo 输出:\bar \\\$foo 输出:\$foo
单引号和双引号进行转义
1. 最外层是用单引号包围时,双引号直接使用就可以了,两个连续的单引号表示一个单引号
#set($var2 = 'A"B''C') --> $var2 的值为 A"B'C
2. 最外层是用双引号包围时,单引号直接使用就可以了,两个连续的双引号表示一个双引号
#set($var2 = "A""B'C") --> $var2 的值为 A"B'C
3. 字符串中的变量需要被解析,则最外层用双引号包围
#set($var2 = "A""B'C_$var1") --> $var2 的值为 A"B'C_test1
4. 字符串中的变量不能被解析,则最外层用单引号包围
#set($var2 = 'A"B''C_$var1') --> $var2 的值为 A"B'C__$var1
总结
1. 一般情况下“\”并不能对引号进行转义,“\”只对 $、# 转义有效。
2. velocity中\\解析为\,此时\是普通字符,没有转义的含义。
版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。