jeesite ckeditor数据库 HTML 被编码 的问题解决
2024-09-03 08:01:59
public abstract class BaseController {
/**
* 初始化数据绑定
* 1. 将所有传递进来的String进行HTML编码,防止XSS攻击
* 2. 将字段中Date类型转换为String类型
*/
@InitBinder
protected void initBinder(WebDataBinder binder) {
// String类型转换,将所有传递进来的String进行HTML编码,防止XSS攻击 binder.registerCustomEditor(String.class, new PropertyEditorSupport() {
@Override
public void setAsText(String text) {
setValue(text == null ? null : StringEscapeUtils.escapeHtml4(text.trim()));
}
@Override
public String getAsText() {
Object value = getValue();
return value != null ? value.toString() : "";
}
});
//……
}
我们看到关键的一句是:StringEscapeUtils.escapeHtml4(text.trim()));
那么当你想要在数据库中保存HTML内容的话有两个地方需要修改:
1.jsp:
<div class="control-group">
<label class="control-label">商品详情:</label>
<div class="controls">
<form:textarea id="detail" path="detail" htmlEscape="true" rows="4" maxlength="1024" class="input-xxlarge "/>
<sys:ckeditor replace="detail" uploadPath="/cms/article" />
</div>
</div>
关键一句:htmlEscape="true"
2.controller
在保存之前:进行解码操作。
ecProduct.setDetail(StringEscapeUtils.unescapeHtml4(ecProduct.getDetail().trim()));
后记:至于为什么CMS 中文章的添加就可以不用解码,数据库存放的就是 HTML格式那,我还没有搞清楚,如果你高明白了请留言告知谢谢。
最新文章
- Ubuntu Server(Ubuntu 14.04 LTS 64位)安装libgdiplus2.10.9出错问题记录
- iOS---runtime介绍
- CATransition转场动画
- How to AC it
- 18种CSS3loading效果完整版,兼容各大主流浏览器,提供在线小工具使用
- [Bhatia.Matrix Analysis.Solutions to Exercises and Problems]ExI.2.8
- Oracle11G安装
- 浅谈Servlet读取Html参数
- iOS动画特效 分类: ios技术 2015-05-15 16:29 311人阅读 评论(0) 收藏
- django-rest-framework之序列化
- tensorflow 从入门到上天教程一
- 关于lamp环境搭建过程的教程
- 【题解】 bzoj3916: [Baltic2014]friends (字符串Hash)
- Requests将verify设置为False后取消警告的方式
- python模块:xml.dom.minidom
- doc.update
- Mysql 查看连接数,状态 最大并发数 &;&; 怎么设置才合理
- c# 通过反射输出成员变量以及成员变量的值
- JS调试必备的5个debug技巧_javascript技巧
- Java string String