项目中有一个模块是用来管理前台的评论内容。因为前台的评论没有限制输入的内容所以有可能用户保存的是一段html代码。后台extjs4进行管理的时候如果用grid展示出来会把grid里面的布局弄乱,很不好看,这个时候就想在grid中展示评论内容的时候不要解析这个html代码,当文本一样的输出。在freemarker中只需要在展示的内容两边加上一对标签即可,所以感觉应该不是太难,不知道extjs4里面有没有配置这样的属性,在网上搜索和看官方的api文档好像都没有这样的配置,那就只有再找另外的方法,好在extjs4提供了一个Ext.htmlEncode();的方法能够不解析html代码。
{ header : '评论内容', dataIndex : 'content', renderer : function(value) { return Ext.htmlEncode(value);// 不解析成html,当string输入,不然格式要乱 } }
Ext.htmlDecode();的作用相反是把文本给解析成html代码,有时候想要输出html代码的时候却输入的文本就可以使用这个方法,使用的方式跟上面一样;