$("#foo").text("${var}"); の場合、「${var}」に含まれるXMLエンティティはエスケープしなくていいとしても「"」や「'」は「\」でエスケープしないとJavaScript的にダメなんでは、と思ったらVelocityにちゃんと機能が用意されていましたよ、と。XMLエンティティのエスケープと同じ感じで「"org.apache.velocity.app.event.implement.EscapeJavaScriptReference"」を指定すれば埋め込み文字列をJavaScriptの文字列としてエスケープしてくれます。 final VelocityEngine engine = new VelocityEngine(); Properties p = new Properties(); // プロパティとして、JavaScript文字列のエスケープを行なうハンドラ