Textarea插入表格table,保存到數據庫。jsp頁面顯示錶格問題

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

我也不是很清楚。

還望高手請教


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章