我正在将Thymeleaf与js微模板例程结合使用,这会在属性值中产生特殊字符。在运行Thymeleaf时
<a style="display:<%= x ? 'block' : 'none' %>;">
它创建
<a style="display:<%= x ? 'block' : 'none' %>;">
虽然我希望得到与处理器完全相同的内容。 如何在HTML属性值中使用特殊字符? 非常感谢!
答案 0 :(得分:8)
答案 1 :(得分:1)
有一些变体需要审核:
LEGACYHTML5
中使用templateResolver
选项template
方法我更喜欢第二种方法。将此代码放在初始化脚本中:
var original = _.template;
_.template = function(content) {
// fix operators escaped by Thymeleaf HTML5 validator
content = content.replace(/'/g, "'");
content = content.replace(/</g, "<");
content = content.replace(/>/g, ">");
return original.call(this, content);
};
答案 2 :(得分:0)
您可以尝试用CDATA块包围您的代码。
答案 3 :(得分:0)
我不确定其他模板模式,但我知道html5和xml不会让你这样做,因为thymeleaf生成的文件不会对doctype进行验证。所以至少在那些模式中,我认为这是不可能的。 (也许用自定义方言?)
那么为什么要在同一页面上使用两个模板工具呢?
答案 4 :(得分:0)
正如hubbardr已经建议的那样,使用LEGACYHTML5作为模板模式可能会对你有帮助。