前言:项目中的Item对象存储的富文本编辑器的HTML内容,存储类型为CLOb,在编辑页面上编辑ITEM的时候,直接使用JSP的取clob无法正常展示,此时需要在后台将clob的内容转换成String类型,发前台展示即可。
工具类::ClobUtil 代码如下
package com.xxxx.xxxl;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.Reader;
import java.sql.Clob;
import java.sql.SQLException;
public class ClobUtil {
public static String ClobToString(Clob clob) throws SQLException, IOException {
String reString = "";
Reader is = clob.getCharacterStream();// 得到流
BufferedReader br = new BufferedReader(is);
String s = br.readLine();
StringBuffer sb = new StringBuffer();
while (s != null) {// 执行循环将字符串全部取出付值给StringBuffer由StringBuffer转成STRING
sb.append(s);
s = br.readLine();
}
reString = sb.toString();
return reString;
}
}
String descriptionStr = ClobUtil.ClobToString((Clob)item.getDescription());
前台KindEdit直接取String放进去,就好了
/* 富文本编辑器 */
KindEditor.ready(function(K) {
var editor1 = K.create('textarea[id="myEditor"]', {
cssPath : '../kindeditor/plugins/code/prettify.css',
uploadJson : '../kindeditor/jsp/upload_json.jsp',
fileManagerJson : '../kindeditor/jsp/file_manager_json.jsp',
allowFileManager : true,
allowImageUpload : true,
afterUpload:function(){this.sync();},
afterBlur: function(){this.sync();}
});
var str = '${item.descriptionStr}';
editor1.html(str);
});
});
然后页面的富文本编辑器就可以正常显示你之前存的内容了!