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

本文介绍了一种解决Java开发中CLOB字段存储Word、Excel及HTML内容导致特殊字符显示异常的方法。通过前后端联合处理,确保数据正确存取。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在开发过程出现这么一个问题:

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

   解决方案:

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

  String(contentdata).replace(/&/g, "&amp;").replace(/>/g, "&gt;").replace(/</g, "&lt;").replace(/"/g, "&quot;");

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>&nbsp;内 容:</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(/&amp;/g, "&").replace(/&gt;/g, ">").replace(/&lt;/g, "<").replace(/&quot;/g, '"');//将转换后的字符串在进行html标签的反编译,(此处引用在Ext.util.Format.htmlDecode ,如果是ext数据提交直接Ext.util.Format.htmlDecode(content))
        </script>
        </span></td></tr>

  
.......

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值