Freemarker输出$和html标签等特殊符号
场景:程序员都不喜欢看⽂档,⽽更喜欢抄例⼦。所以,我们把平台组的组件都做成例⼦供别⼈参考。我们前端展⽰层使⽤的是freemarker,所以遇到这个问题,⽐如我们要让前端显⽰freemarker⾃⼰的源码时就有问题了(因为我们例⼦程序的页⾯也是使⽤freemarker)。遇到的问题如下:
1、如何显⽰html源码,⽽不是让浏览器解析这些html,⽅法是使⽤freemarker的html转义。
⽐如我们显⽰img标签,就是如此:${'<img src="xxxxxxx"/>'?html},这样最终在页⾯上展⽰的内容就是:<img src="xxxxxxx"/>,⽽不会被浏览器解析。
2、显⽰freemarker源码,⽐如${}符号,则可以如下:
${r'${obj.name}'},这样最终显⽰的结果就是:${obj.name},⽽不会被freemarker解析。这⾥要注意,前边那个标红的“r”字符是关键点。
前端html3、⾃定义宏的结束符号不能出来的解决办法:⽐如我们⾃定义了个宏叫做:<@lumn></@lumn>,如果要显⽰源码,结束的那个符号"< /@lumn>”是显⽰不出来的,这个时候可以采⽤字符转义的⽅式,⽐如:
${'</@lumn''},这样显⽰的结果就是:</@lumn>
var row = $('#datagrid').datagrid('getSelected');
var activityId = "${activityId}";
var result = "${r'${"+activityId+"-"+row.eleId+"}'}";
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论