Textarea插入表格table,保存到数据库。jsp页面显示表格问题

来源:互联网 发布:百度云计算招聘 编辑:程序博客网 时间:2024/05/22 07:50
自己做的一个小项目中。在一个textarea域中加一个表格。这在不借助插件的情况下是不能做到的。于是我们找了一个国内人做的一个开源插件:Kindeditor。这款插件在国内还是没多人用的,而且本版也到4.x了,相对来说比较成熟。而csdn用的是xheditor。不管怎么样,只要能实现我们想要的功能就ok。
这里不介绍怎么具体去使用这个插件。主要讲述遇到的两个问题。
第一:后台取不到Textarea里的值
用了KindEditor编辑器之后,发现后台取不到textarea里的值了。用法都没有问题,很多网上的参考案例也是如此用法:
var editor;KindEditor.ready(function(K) { editor = K.create('textarea[name="productIntro"]', {cssPath : '<%=basePath%>kindeditor417/plugins/code/prettify.css',uploadJson : 'upload_json.jsp',fileManagerJson : 'file_manager_json.jsp',allowFileManager : true,afterCreate : function() {var self = this;self.sync();K.ctrl(document, 13, function() {self.sync();document.forms['form'].submit();});K.ctrl(self.edit.doc, 13, function() {self.sync();document.forms['form'].submit();});}});prettyPrint();});

但是不用编辑器的时候是可以取到值的。在网上Google发现是textarea的值经过编辑器处理完之后,没有把数据同步给textarea,或者说我们同步的方法不对。
解决办法是:
afterCreate : function() { --->  afterBlur : function() {
那位老兄的网址我现在找不到了。感谢分享的网友。

第二: 我在textarea插入一个table之后,这个table的数据已经保存到了DB里面,但是在jsp页面显示的时候,却是
<table style="width:100%;" cellpadding="2" cellspacing="0" border="1" bordercolor="#000000"><tbody><tr><td><strong><span style="font-size:large;">频率范围</span></strong><br /></td><td><span style="color:#585858;font-family:Arial, Helvetica, sans-serif, 宋体;font-size:large;line-height:22px;background-color:#FFFFFF;">134-174/ 400-480 MHz</span><br /></td></tr><tr><td><strong><span style="font-size:large;">增益</span></strong><br /></td><td><span style="color:#585858;font-family:Arial, Helvetica, sans-serif, 宋体;font-size:large;line-height:22px;background-color:#FFFFFF;">4.5/ 7.2 dBi</span><br /></td></tr><tr><td><br /></td><td><br /></td></tr><tr><td><br /></td><td><br /></td></tr><tr><td><strong><span style="font-size:large;">避雷保护</span></strong><br /></td><td><span style="color:#585858;font-family:Arial, Helvetica, sans-serif, 宋体;font-size:large;line-height:22px;background-color:#FFFFFF;">直流接地</span><br /></td></tr></tbody></table><br />

Google上说只要用标签<pre>就可以实现格式的正确显示,我也的确用了<pre><c:out>这两个标签,但是在我这里就是不起作用,也许有的人的确可以用这个方法来解决问题。但是在我这里就是行不通。于是还有另外的一个办法是,在保存进数据库的时候,就用<pre>对textarea的内容进行包装一遍。本来个人觉得这个方法其实跟在html中用<pre>标签是一个道理,但是抱着试试看的心情,我重新保存了一遍,结果在我的jsp页面上还就真的显示了我保存进去的table。

真的不试不知道,一试真奇妙。

不过对于这样子做的结果为什么可以,而直接在jsp页面上进行<pre>包装反倒不可以的原因

我也不是很清楚。

还望高手请教


原创粉丝点击