Velocityで文字列リテラル中にダブルクォーテーションを書きたい
結論から書くと。
#set($q = '"') #set($value = "${q}hogehoge${q}")
まじですか。
最初はバックスラッシュあたりでエスケープさせるのだろうと思ったのだが…。
#set($value = "\"hogehoge\"")
これだと次のように表示される。
\"hogehoge\"
まんまじゃねーか。
Velocityのユーザガイドを読んでも、この件についての記述は見つからない。
で、つぎのアーカイブを発見して、冒頭の書き方に至る。
http://mail-archives.apache.org/mod_mbox/velocity-user/200301.mbox/%3C3E37A195.50709@dlr.de%3E
「1.5から""で表示できるようになる」と書いてあるのだが、1.5, 1.6.1共に動作せず。スタックトレースを見た感じではエスケープしている形跡はあるのだが…。
## これは動作しない #set($value = """hogehoge""")