您的位置:首页 > 数据库 > Oracle

oracle中Clob字段中的回车换行在jsp中展示的问题

2010-03-04 09:09 429 查看
在开发过程出现这么一个问题:

比如:一个字段content 类型CLOB,这其中存的有可能复制粘贴过来的word excel html中的内容,用java将这些内容存入,存入后有特殊的符号 比如回车换行等。那么不能正常展示的数据。

解决方案:

存入数据的是将这个数据contentdata在js中进行

String(contentdata).replace(/&/g, "&").replace(/>/g, ">").replace(/</g, "<").replace(/"/g, """);

html标签编译处理(此处引用在Ext.util.Format.htmlEncode ,如果是ext数据提交直接Ext.util.Format.htmlEncode(contentdata))

在后台用提交用

Context initCtx = new InitialContext(); DataSource ds = (DataSource)JNDIUtil.lookup(initCtx) ;
Connection conn = ds.getConnection();

PreparedStatement ps=conn.prepareStatement("insert...values(?...)"),

ps.setObject(5,contentdata)

......

jsp中展示:sql语句中对此字段进行这样的处理:select REPLACE(REPLACE(content,chr(13),''),chr(10),'') content from table;

输出:

.....

<tr> <td><span> 内 容:</span></td><td><span id="content" >
<% String content=rs.getClob(5)==null?"":rs.getClob(5).getSubString((long)1, (int)rs.getClob(5).length());//读取出clob数据进行clob到字符串的转换%>
<script>
document.getElementById("content").innerHTML=String("<%=content%>").replace(/&/g, "&").replace(/>/g, ">").replace(/</g, "<").replace(/"/g, '"');//将转换后的字符串在进行html标签的反编译,(此处引用在Ext.util.Format.htmlDecode ,如果是ext数据提交直接Ext.util.Format.htmlDecode(content))
</script>
</span></td></tr>

.......
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: