是否可以使用java变量将HTML直接插入velocity模板?
考虑以下java变量声明:是否可以使用java变量将HTML直接插入velocity模板?,java,velocity,Java,Velocity,考虑以下java变量声明: String s=“请在Facebook上关注我们” 并考虑以下速度模板: <html> <body> ... <div>$!s</div> ... </body> </html> ... $!s ... 这能像预期的那样工作吗?或者,可以通过java变量直接将HTML插入DOM吗 我假设没有-我猜HTML字符会被转义 我正在努力创建一些通用模板,以便
String s=“请在Facebook上关注我们”代码>
并考虑以下速度模板:
<html>
<body>
...
<div>$!s</div>
...
</body>
</html>
...
$!s
...
这能像预期的那样工作吗?或者,可以通过java变量直接将HTML插入DOM吗
我假设没有-我猜HTML字符会被转义
我正在努力创建一些通用模板,以便尽可能多地重复使用,因此我可能会自己测试这个模板,但我想问一下,如果有人知道他们的想法,我是否可以为自己节省一点时间。此外,我在velocity文档或stackoverflow中找不到任何关于此的信息。是的,这是可能的
Velocity不会转义HTML本身,因为它并非仅用于HTML。通常,它不知道用它生成什么类型的文本
Velocity包含一个转义工具,可用于显式转义所需内容:
如果您打算使用Velocity生成HTML,我建议您只使用字符串变量,并转义传递给它以供输出的所有变量。如果需要不转义某些变量,请使用白名单(即在转义器中不转义的变量名称的显式列表)
这种方法将允许实现“默认转义”策略。也有同样的问题
我们发现还有指令#disable_html_escaping()
,您可以将它放在模板的开头。@anon58192932欢迎您!如果答案对你有帮助,请接受它。我在等待冷却期接受答案。。。。我忘了,对不起:)