octscorpion

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  0 Posts :: 17 Stories :: 0 Comments :: 0 Trackbacks

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

   比如:一个字段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>

  
.......

posted on 2012-11-05 19:13 一G刀客 阅读(1064) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: