//将后台拿到的BLOB类型的值放在前台富文本显示
java代码:
info.setBlob(blobContent); //省略前面数据库取值步骤,这里假设blobContent为从数据库取到的值,info为实体。
HttpSession session=request.getSession();
session.setAttribute("info",info);
jsp代码:
<body>
<% Infomation info=(Infomation)session.getAttribute("info"); %>
<div id="Editor" style="width:700px; height:400px;">
//这里用hidden存放BLOB值是因为在设置富文本内容时用小脚本会出现bug,这个我尝试过好多次,不知道是我的方式不对还是怎么滴
//value值建议用单引号包起来
<input type="hidden" value='<%=info.getBlob()%>' id="ueContent">
<script type="text/javascript" charset="utf-8">
var ue=UE.getEditor('Editor');
ue.ready(function(){
//可以将BLOB类型的值直接设置为富文本内容,无需做任何转换。
ue.setContent(document.getElementById("ueContent").value);
});
</script>
</div>
</body>
//将富文本的值存放在数据库BLOB类型中
jsp代码:
<body>
<form action="/infomation" type="post" id="infomation">
//用hidden标签将富文本的内容传递给后台
<input type="hidden" id="blob" name="blob" value="">
<div id="Editor" style="width:700px; height:400px;">
<script type="text/javascript" charset="utf-8">
var ue=UE.getEditor('Editor');
</script>
</div>
<input type="button" onclik="doSubmit()">
</form>
<script language="javascript">
function doSubmit(){
//取富文本的文本内容
var value = UE.getEditor('Editor').getContent();
$("#blob").val(value);
$("#infomation").submit();
}
</script>
</body>
java代码:
byte[] bytes=null;
//因为BLOB是一个存储二进制文件的,这里需要将接收到的富文本内容转成byte数组放进数据库
bytes=request.getParameter("blob").getBytes();
info.setContent(bytes);
//以上是用jsp+servlet+jdbc,没有用到框架,小弟菜鸟一枚,记录这篇文章是为了方便记忆,请各位大神勿喷