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

本文介绍了在使用KindEditor富文本编辑器过程中遇到的两大问题及其解决方案。一是如何确保编辑器内的内容能够被后台正确获取;二是如何在JSP页面正确显示包含HTML标签的表格数据。

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

自己做的一个小项目中。在一个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>包装反倒不可以的原因

我也不是很清楚。

还望高手请教


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值