-
2007年08月26日
备忘录2007-08-26 - [技术同盟]
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://butoo.blogbus.com/logs/7939161.html
以前做的项目中用到了fckEditor编辑器,把碰到的几个问题稍整理了下,可能对一些朋友有用。
fckEditor下载、配置、优化及使用方法在这里不作介绍了,网上有很多类似的文章。
当要使用fckEditor进行编辑的时候,需要从数据库中读取ntext字段数据,然后再在fckEditor的编辑框中显示出来。一开始我的使用方法如下:
<tr bgColor=#ffffff>
<td colspan="4" width="100%" id="fckDisplay" style="display:none ">
<input type="hidden" id="remark" name="remark" value="<%=remark%>"/>
<iframe ID="remark" src="../share/FCKeditor/editor/fckeditor.html?InstanceName=remark&Toolbar=Default" frameborder="0" scrolling="no" width="555" HEIGHT="350"></iframe>
</td>
</tr>
但当数据中有表格、图片等数据时,数据并不全都在fckEditor中显示出来,有时也会出现乱码。尝试了在js中使用方法setHtml('<%=remark%.')也不行,接着尝试了好多其他的方法,但好像都不灵,真够郁闷的。。
后来脑海里突然想起一个概念:fck在html页面里面也相当于一个“元素”啊。回想起以前XML课程里面“元素结构”的定义,即“由元素标记和标记所描述的内容组成”。我对照了以下代码:
<tr>
<td colspan="4" width="100%">
<div><FCK:editor id="remark" basePath="/czbid/share/FCKeditor/"
width="100%"
height="400"
skinPath="/czbid/share/FCKeditor/editor/skins/silver/"
defaultLanguage="zh-cn"
tabSpaces="8"...
imageUploadURL="/czbid/share/FCKeditor/editor/filemanager/upload/simpleuploader?Type=Image"
linkUploadURL="/czbid/share/FCKeditor/editor/filemanager/upload/simpleuploader?Type=File"
flashUploadURL="/czbid/share/FCKeditor/editor/filemanager/upload/simpleuploader?Type=Flash">
</FCK:editor></div>
</td>
</tr>
从以上代码中,可以找到fck元素在html里面的开始标记<FCK:editor 元素属性>,结束标记</FCK:editor>,但找不到元素内容。<%=remark%>会不会就是元素内容呢?抱着最后一线希望,直接把<%=remark%>放在了<FCK:editor 元素属性>和</FCK:editor>的中间,如下:
<tr>
<td colspan="4" width="100%">
<div><FCK:editor id="remark" basePath="/czbid/share/FCKeditor/"
width="100%"
height="400"
skinPath="/czbid/share/FCKeditor/editor/skins/silver/"
defaultLanguage="zh-cn"
tabSpaces="8"...
imageUploadURL="/czbid/share/FCKeditor/editor/filemanager/upload/simpleuploader?Type=Image"
linkUploadURL="/czbid/share/FCKeditor/editor/filemanager/upload/simpleuploader?Type=File"
flashUploadURL="/czbid/share/FCKeditor/editor/filemanager/upload/simpleuploader?Type=Flash">
<%=remark%><!--将从数据库从取出的remark字段放在这里-->
</FCK:editor></div>
</td>
</tr>
运行页面,数据显示正常,问题解决。。在使用fckEditor的过程中,我发现它自带的模版一般用不到,我们可以根据自己项目的需要新增或删除模版,可以对模版格式进行更改。其实挺简单,找到FckEditor/fcktemplates.xml,模版的格式都放在了CDATA节中,即
<![CDATA[
模版格式(可以将此处的模版格式替换成自己的模版格式)
]]>还有一个小的问题,在向MSSQL数据库中提交数据的时候最好使用“set 字段名=?”的形式,这样可以避免插入数据出现错误,比如当数据中包含单引号时,使用一般方法插入会出现异常。示例代码:
Connection conn = null;
PreparedStatement st = null;
String sql = null;
try{
conn = DBUtil.getConnection("jdbc/czbid");
sql = "update C_bid set name=?,type=?,remark=? where id='" + id + "'";
st = conn.prepareStatement(sql);st.setString(1,bidName);
st.setInt(2,type);
st.setString(3,remark);
m = st.executeUpdate();
}catch(Exception e){
out.println(e);
}finally{
if(st!=null) st.close();
if(conn!=null)conn.close();
if(m>0)
out.println("<script>alert('编辑招标项目成功!');history.go(-2);</script>");
else{
out.println("<script>alert('编辑招标项目失败!');history.go(-2);</script>");
}
}随机文章:
中文乱码 2007年07月17日配置和安装Tomcat admin和在tomcat中配置sqlserver数据库连接池 2007年06月24日db2在linux下安装与卸载 2006年11月16日海涅-幸福是一个轻薄的姑娘 2006年11月02日清理缓存与数据库写入 2006年07月13日
收藏到:Del.icio.us








评论