今天遇到一个很是郁闷的问题,,到晚上终于发现问题的根本。。
遇到的问题: 我们在前台用textbox或textarea接收鼠标复制的网页源码的时候,对于网页文本中的换行符号一般为\r\n。由于使用的是ZK技术,所以用的是textbox,,属性设置为multiple,如果没设置接收不到\n。。但是发现后台网页源码中的都是\r\n,而文本框接收的为\n,少了\r。。开始以为zk的textbox的bug。。
起始是浏览器的问题 :shock: 。。。我的浏览器默认为火狐,而IE下和火狐的换行符号不一致。
在IE下,换行符传入\r\n
在Firefox和谷歌浏览器下,换行符只传入了\n 。
解决办法:如果发现传入的字符串只有\n,没有\r\n,则用正则表达式将\n替换成\r\n,或者是将\r剔除掉。。
然后再进行业务处理即可。
遇到的问题: 我们在前台用textbox或textarea接收鼠标复制的网页源码的时候,对于网页文本中的换行符号一般为\r\n。由于使用的是ZK技术,所以用的是textbox,,属性设置为multiple,如果没设置接收不到\n。。但是发现后台网页源码中的都是\r\n,而文本框接收的为\n,少了\r。。开始以为zk的textbox的bug。。
起始是浏览器的问题 :shock: 。。。我的浏览器默认为火狐,而IE下和火狐的换行符号不一致。
在IE下,换行符传入\r\n
在Firefox和谷歌浏览器下,换行符只传入了\n 。
解决办法:如果发现传入的字符串只有\n,没有\r\n,则用正则表达式将\n替换成\r\n,或者是将\r剔除掉。。
Pattern p=Pattern.compile("\r|\n");
Matcher m=p.matcher(source源码);
source=m.replaceAll("");
然后再进行业务处理即可。