﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-RomKK-随笔分类-Web技术</title><link>http://www.blogjava.net/RomKK/category/24360.html</link><description>关注java技术!</description><language>zh-cn</language><lastBuildDate>Sat, 28 Jul 2007 12:22:27 GMT</lastBuildDate><pubDate>Sat, 28 Jul 2007 12:22:27 GMT</pubDate><ttl>60</ttl><item><title>AJAX+jsp无刷新验证码实例</title><link>http://www.blogjava.net/RomKK/archive/2007/07/25/132383.html</link><dc:creator>RomKK</dc:creator><author>RomKK</author><pubDate>Wed, 25 Jul 2007 12:16:00 GMT</pubDate><guid>http://www.blogjava.net/RomKK/archive/2007/07/25/132383.html</guid><wfw:comment>http://www.blogjava.net/RomKK/comments/132383.html</wfw:comment><comments>http://www.blogjava.net/RomKK/archive/2007/07/25/132383.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/RomKK/comments/commentRss/132383.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/RomKK/services/trackbacks/132383.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: ［导读］本文通过实例，介绍在做验证码的时候为了给用户很好的体验，需要在原有验证方式基础之上增加一段js，通过xmlhttp来获取返回值，以此来验证是否有效。同时，本例还特别适合检验用户名是否有效。&nbsp;&nbsp;1、我们在做验证码的时候往往由于要反作弊，验证有时故意加入多的干扰因素，这时验证码显示不很清楚，用户经常输入错误。这样不但要重新刷新页面，导致用户没有看清楚验证码而重填而不是修改，...&nbsp;&nbsp;<a href='http://www.blogjava.net/RomKK/archive/2007/07/25/132383.html'>阅读全文</a><img src ="http://www.blogjava.net/RomKK/aggbug/132383.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/RomKK/" target="_blank">RomKK</a> 2007-07-25 20:16 <a href="http://www.blogjava.net/RomKK/archive/2007/07/25/132383.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Javascript的IE和Firefox兼容性汇编</title><link>http://www.blogjava.net/RomKK/archive/2007/07/25/132219.html</link><dc:creator>RomKK</dc:creator><author>RomKK</author><pubDate>Wed, 25 Jul 2007 02:22:00 GMT</pubDate><guid>http://www.blogjava.net/RomKK/archive/2007/07/25/132219.html</guid><wfw:comment>http://www.blogjava.net/RomKK/comments/132219.html</wfw:comment><comments>http://www.blogjava.net/RomKK/archive/2007/07/25/132219.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/RomKK/comments/commentRss/132219.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/RomKK/services/trackbacks/132219.html</trackback:ping><description><![CDATA[为了方便放到自己的blog里好查，呵呵<br><script type="text/javascript"><!--
google_ad_client = "pub-4399204441904216";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text";
//2007-07-24: http://romkk.j5com.cn/blog
google_ad_channel = "8013984535";
google_color_border = "F7F7F7";
google_color_bg = "F7F7F7";
google_color_link = "0000FF";
google_color_text = "000000";
google_color_url = "008000";
//-->
</script>
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script><br><strong>1. document.form.item 问题<br></strong>&nbsp;&nbsp;&nbsp;&nbsp;(1)现有问题：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;现有代码中存在许多 document.formName.item("itemName") 这样的语句，不能在 MF 下运行<br>&nbsp;&nbsp;&nbsp;&nbsp;(2)解决方法：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;改用 document.formName.elements["elementName"]<br>&nbsp;&nbsp;&nbsp;&nbsp;(3)其它<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;参见 2<br><br><strong>2. 集合类对象问题</strong><br>&nbsp;&nbsp;&nbsp;&nbsp;(1)现有问题：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;现有代码中许多集合类对象取用时使用 ()，IE 能接受，MF 不能。<br>&nbsp;&nbsp;&nbsp;&nbsp;(2)解决方法：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;改用 [] 作为下标运算。如：document.forms("formName") 改为 document.forms["formName"]。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;又如：document.getElementsByName("inputName")(1) 改为 document.getElementsByName("inputName")[1]<br>&nbsp;&nbsp;&nbsp;&nbsp;(3)其它<br><br><strong>3. window.event</strong><br>&nbsp;&nbsp;&nbsp;&nbsp;(1)现有问题：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;使用 window.event 无法在 MF 上运行<br>&nbsp;&nbsp;&nbsp;&nbsp;(2)解决方法：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MF 的 event 只能在事件发生的现场使用，此问题暂无法解决。可以这样变通：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;原代码(可在IE中运行)：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;input type="button" name="someButton" value="提交" onclick="javascript:gotoSubmit()"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;...<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;script language="javascript"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;function gotoSubmit() {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;...<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alert(window.event);&nbsp;&nbsp;&nbsp;&nbsp;// use window.event<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;...<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/script&gt;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;新代码(可在IE和MF中运行)：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;input type="button" name="someButton" value="提交" onclick="javascript:gotoSubmit(event)"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;...<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;script language="javascript"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;function gotoSubmit(evt) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;evt = evt ? evt : (window.event ? window.event : null);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;...<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alert(evt);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // use evt<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;...<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/script&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;此外，如果新代码中第一行不改，与老代码一样的话(即 gotoSubmit 调用没有给参数)，则仍然只能在IE中运行，但不会出错。所以，这种方案 tpl 部分仍与老代码兼容。<br><br><strong>4. HTML 对象的 id 作为对象名的问题</strong><br>&nbsp;&nbsp;&nbsp;&nbsp;(1)现有问题<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在 IE 中，HTML 对象的 ID 可以作为 document 的下属对象变量名直接使用。在 MF 中不能。<br>&nbsp;&nbsp;&nbsp;&nbsp;(2)解决方法<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;用 getElementById("idName") 代替 idName 作为对象变量使用。<br><br><strong>5. 用idName字符串取得对象的问题</strong><br>&nbsp;&nbsp;&nbsp;&nbsp;(1)现有问题<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在IE中，利用 eval(idName) 可以取得 id 为 idName 的 HTML 对象，在MF 中不能。<br>&nbsp;&nbsp;&nbsp;&nbsp;(2)解决方法<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;用 getElementById(idName) 代替 eval(idName)。<br><br><strong>6. 变量名与某 HTML 对象 id 相同的问题</strong><br>&nbsp;&nbsp;&nbsp;&nbsp;(1)现有问题<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在 MF 中，因为对象 id 不作为 HTML 对象的名称，所以可以使用与 HTML 对象 id 相同的变量名，IE 中不能。<br>&nbsp;&nbsp;&nbsp;&nbsp;(2)解决方法<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在声明变量时，一律加上 var ，以避免歧义，这样在 IE 中亦可正常运行。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;此外，最好不要取与 HTML 对象 id 相同的变量名，以减少错误。<br>&nbsp;&nbsp;&nbsp;&nbsp;(3)其它<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;参见 问题4<br><br><strong>7. event.x 与 event.y 问题</strong><br>&nbsp;&nbsp;&nbsp;&nbsp;(1)现有问题<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在IE 中，event 对象有 x, y 属性，MF中没有。<br>&nbsp;&nbsp;&nbsp;&nbsp;(2)解决方法<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在MF中，与event.x 等效的是 event.pageX。但event.pageX IE中没有。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;故采用 event.clientX 代替 event.x。在IE 中也有这个变量。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;event.clientX 与 event.pageX 有微妙的差别（当整个页面有滚动条的时候），不过大多数时候是等效的。<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如果要完全一样，可以稍麻烦些：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mX = event.x ? event.x : event.pageX;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;然后用 mX 代替 event.x<br>&nbsp;&nbsp;&nbsp;&nbsp;(3)其它<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;event.layerX 在 IE 与 MF 中都有，具体意义有无差别尚未试验。<br><br><br><strong>8. 关于frame</strong><br>&nbsp;&nbsp; (1)现有问题<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在 IE中 可以用window.testFrame取得该frame，mf中不行<br>&nbsp;&nbsp; (2)解决方法<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在frame的使用方面mf和ie的最主要的区别是：<br>如果在frame标签中书写了以下属性：<br>&lt;frame src="xx.htm" id="frameId" name="frameName" /&gt;<br>那么ie可以通过id或者name访问这个frame对应的window对象<br>而mf只可以通过name来访问这个frame对应的window对象<br>例如如果上述frame标签写在最上层的window里面的htm里面，那么可以这样访问<br>ie： window.top.frameId或者window.top.frameName来访问这个window对象<br>mf： 只能这样window.top.frameName来访问这个window对象<br><br>另外，在mf和ie中都可以使用window.top.document.getElementById("frameId")来访问frame标签<br>并且可以通过window.top.document.getElementById("testFrame").src = 'xx.htm'来切换frame的内容<br>也都可以通过window.top.frameName.location = 'xx.htm'来切换frame的内容<br>关于frame和window的描述可以参见bbs的&#8216;window与frame&#8217;文章<br>以及/test/js/test_frame/目录下面的测试<br><br><strong>9. 在mf中，自己定义的属性必须getAttribute()取得</strong><br>10.在mf中没有&nbsp;&nbsp;parentElement parement.children&nbsp;&nbsp;而用<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; parentNode parentNode.childNodes<br>&nbsp;&nbsp; childNodes的下标的含义在IE和MF中不同，MF使用DOM规范，childNodes中会插入空白文本节点。<br>&nbsp;&nbsp;一般可以通过node.getElementsByTagName()来回避这个问题。<br>&nbsp;&nbsp; 当html中节点缺失时，IE和MF对parentNode的解释不同，例如<br>&nbsp;&nbsp; &lt;form&gt;<br>&nbsp;&nbsp; &lt;table&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;input/&gt;<br>&nbsp;&nbsp; &lt;/table&gt;<br>&nbsp;&nbsp; &lt;/form&gt;<br>&nbsp;&nbsp; MF中input.parentNode的值为form, 而IE中input.parentNode的值为空节点<br><br>&nbsp;&nbsp;MF中节点没有removeNode方法，必须使用如下方法 node.parentNode.removeChild(node)<br><br><strong>11.const 问题</strong><br>&nbsp;&nbsp;(1)现有问题:<br>&nbsp;&nbsp;&nbsp;&nbsp; 在 IE 中不能使用 const 关键字。如 const constVar = 32; 在IE中这是语法错误。<br>&nbsp;&nbsp;(2)解决方法:<br>&nbsp;&nbsp;&nbsp;&nbsp; 不使用 const ，以 var 代替。<br><br><strong>12. body 对象</strong><br>&nbsp;&nbsp; MF的body在body标签没有被浏览器完全读入之前就存在，而IE则必须在body完全被读入之后才存在<br><br><strong>13. url encoding</strong><br>在js中如果书写url就直接写&amp;不要写&amp;例如var url = 'xx.jsp?objectName=xx&amp;objectEvent=xxx';<br>frm.action = url那么很有可能url不会被正常显示以至于参数没有正确的传到服务器<br>一般会服务器报错参数没有找到<br>当然如果是在tpl中例外，因为tpl中符合xml规范，要求&amp;书写为&amp;<br>一般MF无法识别js中的&amp;<br><br><br><strong>14. nodeName 和 tagName 问题</strong><br>&nbsp;&nbsp;(1)现有问题：<br>&nbsp;&nbsp;&nbsp;&nbsp; 在MF中，所有节点均有 nodeName 值，但 textNode 没有 tagName 值。在 IE 中，nodeName 的使用好象<br>&nbsp;&nbsp;&nbsp;&nbsp; 有问题（具体情况没有测试，但我的IE已经死了好几次）。<br>&nbsp;&nbsp;(2)解决方法：<br>&nbsp;&nbsp;&nbsp;&nbsp; 使用 tagName，但应检测其是否为空。<br><br><strong>15. 元素属性</strong><br>&nbsp;&nbsp; IE下 input.type属性为只读，但是MF下可以修改<br><br><br><strong>16. document.getElementsByName() 和 document.all[name] 的问题</strong><br>&nbsp;&nbsp;(1)现有问题：<br>&nbsp;&nbsp;&nbsp;&nbsp; 在 IE 中，getElementsByName()、document.all[name] 均不能用来取得 div 元素。<br>
<script type="text/javascript"><!--
google_ad_client = "pub-4399204441904216";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "image";
//2007-07-24: http://romkk.j5com.cn/blog
google_ad_channel = "8013984535";
google_color_border = "F7F7F7";
google_color_bg = "F7F7F7";
google_color_link = "0000FF";
google_color_text = "000000";
google_color_url = "008000";
//-->
</script>
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script><img src ="http://www.blogjava.net/RomKK/aggbug/132219.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/RomKK/" target="_blank">RomKK</a> 2007-07-25 10:22 <a href="http://www.blogjava.net/RomKK/archive/2007/07/25/132219.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>用Velocity和Javascript操作FCKeditor</title><link>http://www.blogjava.net/RomKK/archive/2007/07/24/131993.html</link><dc:creator>RomKK</dc:creator><author>RomKK</author><pubDate>Tue, 24 Jul 2007 02:49:00 GMT</pubDate><guid>http://www.blogjava.net/RomKK/archive/2007/07/24/131993.html</guid><wfw:comment>http://www.blogjava.net/RomKK/comments/131993.html</wfw:comment><comments>http://www.blogjava.net/RomKK/archive/2007/07/24/131993.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/RomKK/comments/commentRss/131993.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/RomKK/services/trackbacks/131993.html</trackback:ping><description><![CDATA[<script type="text/javascript"><!--
google_ad_client = "pub-4399204441904216";
google_ad_width = 728;
google_ad_height = 15;
google_ad_format = "728x15_0ads_al_s";
//2007-07-24: http://romkk.j5com.cn/blog
google_ad_channel = "8013984535";
//-->
</script>
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</br>其实很早以前就使用过FCKeditor，那是在做一个新闻发布系统中，当时使用jsp + struts来开发，FCKeditor在jsp下的配置在网上有很多相关的文章，这里就不多说了。现在使用Velocity开发tycho时，也用到了FCKeditor，其实配置和jsp一样，只是思维需要转换一下，即，网上所介绍的jsp下使用FCKeditor一般都是在jsp页面上生成实例，而Velocity并不能完成这一需求，那么我们将FCKeditor的实例放在后台bean中生成，并放入request，然后在Velocity中对其进行设置。后台bean中写法如下：
<p>FCKeditor fckEditor = new FCKeditor(super.getRequest());<br>request.setAttribute("fckEditor", fckEditor);</p>
<p>Velocity页在中取到这个实例并对其进行设置：</p>
<p>$!{fckEditor.setHeight("190")}<br>$!{fckEditor.setWidth("420")}<br>$!{fckEditor.setBasePath("fckeditor/")}<br>$!{fckEditor.setToolbarSet("Basic")}<br>$!{fckEditor.setInstanceName("comment")}<br>$!{fckEditor.create()}</p>
<p>非常简单，比用jsp实现要容易多了。至少不用设置page。</p>
<p>利用Javascript取和设FCKeditor值也是非常容易的，如下：</p>
<p>// 获取编辑器中HTML内容<br>function getEditorHTMLContents(EditorName) { <br>&nbsp;&nbsp;&nbsp; var oEditor = FCKeditorAPI.GetInstance(EditorName); <br>&nbsp;&nbsp;&nbsp; return(oEditor.GetXHTML(true)); <br>}</p>
<p>// 获取编辑器中文字内容<br>function getEditorTextContents(EditorName) { <br>&nbsp;&nbsp;&nbsp; var oEditor = FCKeditorAPI.GetInstance(EditorName); <br>&nbsp;&nbsp;&nbsp; return(oEditor.EditorDocument.body.innerText); <br>}</p>
<p>// 设置编辑器中内容<br>function SetEditorContents(EditorName, ContentStr) { <br>&nbsp;&nbsp;&nbsp; var oEditor = FCKeditorAPI.GetInstance(EditorName) ; <br>&nbsp;&nbsp;&nbsp; oEditor.SetHTML(ContentStr) ; <br>}</p>
<p>FCKeditorAPI是FCKeditor加载后注册的一个全局对象，利用它我们就可以完成对编辑器的各种操作。</p>
<p>在当前页获得 FCK 编辑器实例：<br>var Editor = FCKeditorAPI.GetInstance('InstanceName');</p>
<p>从 FCK 编辑器的弹出窗口中获得 FCK 编辑器实例：<br>var Editor = window.parent.InnerDialogLoaded().FCK;</p>
<p>从框架页面的子框架中获得其它子框架的 FCK 编辑器实例：<br>var Editor = window.FrameName.FCKeditorAPI.GetInstance('InstanceName');</p>
<p>从页面弹出窗口中获得父窗口的 FCK 编辑器实例： <br>var Editor = opener.FCKeditorAPI.GetInstance('InstanceName');</p>
<p>获得 FCK 编辑器的内容：<br>oEditor.GetXHTML(formatted); // formatted 为：true|false，表示是否按HTML格式取出<br>也可用： <br>oEditor.GetXHTML();</p>
<p>设置 FCK 编辑器的内容：<br>oEditor.SetHTML("content", false); // 第二个参数为：true|false，是否以所见即所得方式设置其内容。此方法常用于"设置初始值"或"表单重置"哦作。</p>
<p>插入内容到 FCK 编辑器：<br>oEditor.InsertHtml("html"); // "html"为HTML文本</p>
<p>检查 FCK 编辑器内容是否发生变化：<br>oEditor.IsDirty();</p>
<p>在 FCK 编辑器之外调用 FCK 编辑器工具条命令：<br>命令列表如下：<br>DocProps, Templates, Link, Unlink, Anchor, BulletedList, NumberedList, About, Find, Replace, Image, Flash, SpecialChar, Smiley, Table, TableProp, TableCellProp, UniversalKey, Style, FontName, FontSize, FontFormat, Source, Preview, Save, NewPage, PageBreak, TextColor, BGColor, PasteText, PasteWord, TableInsertRow, TableDeleteRows, TableInsertColumn, TableDeleteColumns, TableInsertCell, TableDeleteCells, TableMergeCells, TableSplitCell, TableDelete, Form, Checkbox, Radio, TextField, Textarea, HiddenField, Button, Select, ImageButton, SpellCheck, FitWindow, Undo, Redo</p>
<p>使用方法如下：<br>oEditor.Commands.GetCommand('FitWindow').Execute();</p>
<p>FCKeditor目录精简说明: <br>1. 根目录下的文件只留下fckconfig.js, fckeditor.js, fckstyles.xml, fcktemplates.xml四个文件 <br>2. 删除所有的以_开头的文件和文件夹 <br>3. 删除FCKeditor\editor\filemanager\upload目录下的所有文件 <br>4. 删除FCKeditor\editor\filemanager\browser\default\connectors目录下的所有文件 <br>5. 删除FCKeditor\editor\_source目录 </p>
<p><strong>以下部分为引用，觉得挺实用，做个备份。</strong></p>
<script type="text/javascript"><!--
google_ad_client = "pub-4399204441904216";
google_ad_width = 728;
google_ad_height = 15;
google_ad_format = "728x15_0ads_al_s";
//2007-07-23: http://romkk.j5com.cn/blog
google_ad_channel = "8013984535";
//-->
</script>
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<span class=Code>
<p>上传文件部分的定制，适用于高级用户。<br><br>第一部分，装自己定制的插件，实现模板标签（开源的东西就有这点好处，随心所欲地修改），打开fckconfig.js文件找到<br>FCKConfig.PluginsPath&nbsp;=&nbsp;FCKConfig.BasePath&nbsp;+&nbsp;'plugins/'&nbsp;;&nbsp;<br>//&nbsp;FCKConfig.Plugins.Add(&nbsp;'placeholder',&nbsp;'en,it'&nbsp;)&nbsp;;&nbsp;<br><br><br>去掉//后，就相当于把placeholder这个插件功能加上了，fckeditor的插件文件都在/editor/plugins/文件夹下分类按文件夹放置的，对于fckeditor2.0来说，里面有两个文件夹，也就是有两个官方插件，placeholder这个文件夹就是我们刚才加上去的，主要用于多参数或单参数自定义标签的匹配，这个在制作编辑模板时非常管用，要想看具体实例的话，大家可以去<a href="http://www.lioil.net/" target=_blank><u><font color=#0000ff>下载</font></u></a>acms这个系统查看学习，另一个文件夹tablecommands就是编辑器里的表格编辑用到的了。当然，如果你想制作自己其它用途的插件，那就只要按照fckeidtor插件的制作规则制作完放置在/editor/plugins/下就行，然后再在fckeidtor.js里再添加FCKConfig.Plugins.Add('Plugin&nbsp;Name',',lang,lang');就可以了。<br><br>第二部分&nbsp;，如何让编辑器一打开的时候，编辑工具条不出现，等点&#8220;展开工具栏&#8221;时才出现？Easy，FCKeditor本身提供了这个功能啦，打开fckconfig.js，找到<br><br>FCKConfig.ToolbarStartExpanded&nbsp;=&nbsp;true&nbsp;;<br>改成<br>FCKConfig.ToolbarStartExpanded&nbsp;=&nbsp;false&nbsp;;<br>就可以啦！<br><br>第三部分，使用自己的表情图标，同样打开fckcofnig.js到最底部那一段<br><br><br>FCKConfig.SmileyPath&nbsp;=&nbsp;FCKConfig.BasePath&nbsp;+&nbsp;'images/smiley/msn/'&nbsp;;<br>FCKConfig.SmileyImages&nbsp;=&nbsp;['regular_smile.gif','sad_smile.gif','wink_smile.gif']&nbsp;;<br>FCKConfig.SmileyColumns&nbsp;=&nbsp;8&nbsp;;<br>FCKConfig.SmileyWindowWidth&nbsp;&nbsp;&nbsp;=&nbsp;320&nbsp;;<br>FCKConfig.SmileyWindowHeight&nbsp;=&nbsp;240&nbsp;;<br><br>上面这段已经是我修改过的了，为了我发表此文的版面不会被撑得太开，我把FCKConfig.SmileyImages那一行改得只有三个表情图了。<br><br>第一行，当然是表情图标路径的设置，第二行是相关表情图标文件名的一个List，第三行是指弹出的表情添加窗口最每行的表情数，下面两个参数是弹出的模态窗口的宽和高喽。<br><br>第四部分，文件上传管理部分<br><br>此部分可能是大家最为关心的，上一篇文章简单的讲了如何修改来上传文件以及使用fckeidtor2.0才提供的快速上传功能。再我们继续再深层次的讲解上传功能<br><br>FCKConfig.LinkBrowser&nbsp;=&nbsp;true&nbsp;;<br>FCKConfig.ImageBrowser&nbsp;=&nbsp;true&nbsp;;<br>FCKConfig.FlashBrowser&nbsp;=&nbsp;true&nbsp;;在fckconfig.js找到这三句，这三句不是连着的哦，只是我把他们集中到这儿来了，设置为true的意思就是允许使用fckeditor来浏览服务器端的文件图像以及flash等，这个功能是你插入图片时弹出的窗口上那个&#8220;浏览服务器&#8221;按钮可以体现出来，如果你的编辑器只用来自己用或是只在后台管理用，这个功能无疑很好用，因为他让你很直观地对服务器的文件进行上传操作。但是如果你的系统要面向前台用户或是像blog这样的系统要用的话，这个安全隐患可就大了哦。于是我们把其一律设置为false;如下<br><br>FCKConfig.LinkBrowser&nbsp;=&nbsp;false&nbsp;;<br>FCKConfig.ImageBrowser&nbsp;=&nbsp;false&nbsp;;<br>FCKConfig.FlashBrowser&nbsp;=&nbsp;false&nbsp;;<br><br>这样一来，我们就只有快速上传可用了啊，好！接下来就来修改，同样以asp为范例进行，进入/editor/filemanager/upload/asp/打开config.asp，修改<br>ConfigUserFilesPath&nbsp;=&nbsp;"/UserFiles/"这个设置是上传文件的总目录，我这里就不动了，你想改自己改了<br><br>好，再打开此目录下的upload.asp文件，找到下面这一段<br><br><br>Dim&nbsp;resourceType<br>If&nbsp;(&nbsp;Request.QueryString("Type")&nbsp;&lt;&gt;&nbsp;""&nbsp;)&nbsp;Then<br>resourceType&nbsp;=&nbsp;Request.QueryString("Type")<br>Else<br>resourceType&nbsp;=&nbsp;"File"<br>End&nbsp;If&nbsp;<br>然后再在其后面添加<br><br><br>ConfigUserFilesPath&nbsp;=&nbsp;ConfigUserFilesPath&nbsp;&amp;&nbsp;resourceType&nbsp;&amp;"/"&amp;&nbsp;Year(Date())&nbsp;&amp;"/"&amp;&nbsp;Month(Date())&nbsp;&amp;"/"&nbsp;<br>这样的话，上传的文件就进入&#8220;/userfiles/文件类型（如image或file或flash)/年/月/&#8221;这样的文件夹下了，这个设置对单用户来用已经足够了，如果你想给多用户系统用，那就这样来改<br><br><br>ConfigUserFilesPath&nbsp;=&nbsp;ConfigUserFilesPath&nbsp;&amp;&nbsp;Session("username")&nbsp;&amp;&nbsp;resourceType&nbsp;&amp;"/"&amp;&nbsp;Year(Date())&nbsp;&amp;"/"&amp;&nbsp;Month(Date())&nbsp;&amp;"/"&nbsp;<br>这样上传的文件就进入&#8220;/userfiles/用户目录/文件类型/年/月/&#8221;下了，当然如果你不想这么安排也可以修改成别的，比如说用户目录再深一层等，这里的Session("username")请根据自己的需要进行修改或换掉。<br><br>上传的目录设置完了，但是上传程序还不会自己创建这些文件夹，如果不存在的话，上传不会成功的，那么我们就得根据上面的上传路径的要求进行递归来生成目录了。<br><br>找到这一段<br><br><br>Dim&nbsp;sServerDir<br>sServerDir&nbsp;=&nbsp;Server.MapPath(&nbsp;ConfigUserFilesPath&nbsp;)<br>If&nbsp;(&nbsp;Right(&nbsp;sServerDir,&nbsp;1&nbsp;)&nbsp;&lt;&gt;&nbsp;"\"&nbsp;)&nbsp;Then<br>&nbsp;&nbsp;&nbsp;sServerDir&nbsp;=&nbsp;sServerDir&nbsp;&amp;&nbsp;"\"<br>End&nbsp;If<br><br>把它下面的这两行<br><br><br>Dim&nbsp;oFSO<br>Set&nbsp;oFSO&nbsp;=&nbsp;Server.CreateObject(&nbsp;"Scripting.FileSystemObject"&nbsp;)&nbsp;<br>用下面这一段代码来替换<br><br><br>dim&nbsp;arrPath,strTmpPath,intRow<br>strTmpPath&nbsp;=&nbsp;""<br>arrPath&nbsp;=&nbsp;Split(sServerDir,&nbsp;"\")&nbsp;<br>Dim&nbsp;oFSO<br>Set&nbsp;oFSO&nbsp;=&nbsp;Server.CreateObject(&nbsp;"Scripting.FileSystemObject"&nbsp;)<br>for&nbsp;intRow&nbsp;=&nbsp;0&nbsp;to&nbsp;Ubound(arrPath)<br>&nbsp;&nbsp;&nbsp;strTmpPath&nbsp;=&nbsp;strTmpPath&nbsp;&amp;&nbsp;arrPath(intRow)&nbsp;&amp;&nbsp;"\"<br>&nbsp;&nbsp;&nbsp;if&nbsp;oFSO.folderExists(strTmpPath)=false&nbsp;then<br>&nbsp;&nbsp;&nbsp;&nbsp;oFSO.CreateFolder(strTmpPath)<br>&nbsp;&nbsp;&nbsp;end&nbsp;if<br>next&nbsp;<br>用这段代码就可以生成你想要的文件夹了，在上传的时候自动生成。<br><br>好了，上传文件的修改到现在可以暂时告一段落了，但是，对于中文用户还存在这么个问题，就是fckeditor的文件上传默认是不改名的，同时还不支持中文文件名，这样一来是上传的文件会变成&#8220;.jpg&#8221;这样的无法读的文件，再就是会有重名文件，当然重名这点倒没什么，因为fckeditor会自动改名，会在文件名后加（1）这样来进行标识。但是，我们通常的习惯是让程序自动生成不重复的文件名<br><br>在刚才那一段代码的下面紧接着就是<br>'&nbsp;Get&nbsp;the&nbsp;uploaded&nbsp;file&nbsp;name.<br>sFileName&nbsp;=&nbsp;oUploader.File(&nbsp;"NewFile"&nbsp;).Name<br>看清楚了，这个就是文件名啦，我们来把它改掉，当然得有个生成文件名的函数才行，改成下面这样<br><br>'//取得一个不重复的序号<br>Public&nbsp;Function&nbsp;GetNewID()<br>dim&nbsp;ranNum<br>dim&nbsp;dtNow<br>randomize<br>dtNow=Now()<br>ranNum=int(90000*rnd)+10000<br>GetNewID=year(dtNow)&nbsp;&amp;&nbsp;right("0"&nbsp;&amp;&nbsp;month(dtNow),2)&nbsp;&amp;&nbsp;right("0"&nbsp;&amp;&nbsp;day(dtNow),2)&nbsp;&amp;&nbsp;right("0"&nbsp;&amp;&nbsp;hour(dtNow),2)&nbsp;&amp;&nbsp;right("0"&nbsp;&amp;&nbsp;minute(dtNow),2)&nbsp;&amp;&nbsp;right("0"&nbsp;&amp;&nbsp;second(dtNow),2)&nbsp;&amp;&nbsp;ranNum<br>End&nbsp;Function<br><br>'&nbsp;Get&nbsp;the&nbsp;uploaded&nbsp;file&nbsp;name.<br>sFileName&nbsp;=&nbsp;GetNewID()&nbsp;&amp;"."&amp;&nbsp;split(oUploader.File(&nbsp;"NewFile"&nbsp;).Name,".")(1)<br><br>这样一来，上传的文件就自动改名生成如20050802122536365.jpg这样的文件名了，是由年月日时分秒以及三位随机数组成的文件名了。<br><br></span><!--网摘代码开始--></p>
<!-- Begin #sidebar -->
<div id="sidebar"><div id="sidebar2"><script type="text/javascript"><!--
google_ad_client = "pub-4399204441904216";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "image";
//2007-07-23: http://romkk.j5com.cn/blog
google_ad_channel = "8013984535";
//-->
</script>
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>   <img src ="http://www.blogjava.net/RomKK/aggbug/131993.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/RomKK/" target="_blank">RomKK</a> 2007-07-24 10:49 <a href="http://www.blogjava.net/RomKK/archive/2007/07/24/131993.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>基于java使用FCKeditor</title><link>http://www.blogjava.net/RomKK/archive/2007/07/24/131986.html</link><dc:creator>RomKK</dc:creator><author>RomKK</author><pubDate>Tue, 24 Jul 2007 02:35:00 GMT</pubDate><guid>http://www.blogjava.net/RomKK/archive/2007/07/24/131986.html</guid><wfw:comment>http://www.blogjava.net/RomKK/comments/131986.html</wfw:comment><comments>http://www.blogjava.net/RomKK/archive/2007/07/24/131986.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/RomKK/comments/commentRss/131986.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/RomKK/services/trackbacks/131986.html</trackback:ping><description><![CDATA[<script type="text/javascript"><!--
google_ad_client = "pub-4399204441904216";
google_ad_width = 728;
google_ad_height = 15;
google_ad_format = "728x15_0ads_al_s";
//2007-07-24: http://romkk.j5com.cn/blog
google_ad_channel = "8013984535";
//-->
</script>
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script><p>试用了一下FCKeditor,感觉不错(<a href="http://www.fckeditor.net/"><u><font color=#800080>http://www.fckeditor.net</font></u></a>)<br>稍稍整理了一下,过程如下：</p>
<p>1.下载<br>FCKeditor.java 2.3&nbsp; (FCKeditot for java)<br>FCKeditor 2.2 (FCKeditor基本文件)</p>
<p>2.建立项目:tomcat/webapps/FCKeditor</p>
<p>3.FCKeditor.java 2.3解压后，把其中的web目录下的WEB-INF目录copy到FCKeditor下(里面有commons-fileupload.jar,FCKeditor-2.3.jar,web.xml等几个文件), 把其中的src目录下的FCKeditor.tld文件copy到FCKeitor/WEB-INF/下</p>
<p>4.修改web.xml:<br>&nbsp; 把SimpleUploader中的配置属性enabled定义为true(开启文件上传功能）<br>&nbsp; 添加标签定义:<br>&nbsp; &lt;taglib&gt;<br>&nbsp;&nbsp;&nbsp; &lt;taglib-uri&gt;/FCKeditor&lt;/taglib-uri&gt;<br>&nbsp;&nbsp;&nbsp; &lt;taglib-location&gt;/WEB-INF/FCKeditor.tld&lt;/taglib-location&gt;<br>&nbsp; &lt;/taglib&gt;</p>
<p>5.解压FCKeditor2.2后，把目录/editor和fckconfig.js, fckeditor.js, fckstyles.xml, fcktemplates.xml四个文件copy到/FCKeditor下<br>&nbsp; 删除目录/editor/_source,<br>&nbsp; 删除/editor/filemanager/browser/default/connectors/下的所有文件<br>&nbsp; 删除/editor/filemanager/upload/下的所有文件<br>&nbsp; 删除/editor/lang/下的除了fcklanguagemanager.js, en.js, zh.js, zh-cn.js四个文件的所有文件</p>
<p>6.打开/FCKeditor/fckconfig.js<br>&nbsp; 修改 FCKConfig.DefaultLanguage = 'zh-cn' ;&nbsp; <br>&nbsp; 把FCKConfig.LinkBrowserURL等的值替换成以下内容：<br>&nbsp; FCKConfig.LinkBrowserURL = FCKConfig.BasePath + "filemanager/browser/default/browser.html?Connector=connectors/jsp/connector" ;<br>&nbsp; FCKConfig.ImageBrowserURL = FCKConfig.BasePath + "filemanager/browser/default/browser.html?Type=Image&amp;Connector=connectors/jsp/connector" ;<br>&nbsp; FCKConfig.FlashBrowserURL = FCKConfig.BasePath + "filemanager/browser/default/browser.html?Type=Flash&amp;Connector=connectors/jsp/connector" ;<br>&nbsp; FCKConfig.LinkUploadURL = FCKConfig.BasePath + 'filemanager/upload/simpleuploader?Type=File' ;<br>&nbsp; FCKConfig.FlashUploadURL = FCKConfig.BasePath + 'filemanager/upload/simpleuploader?Type=Flash' ;<br>&nbsp; FCKConfig.ImageUploadURL = FCKConfig.BasePath + 'filemanager/upload/simpleuploader?Type=Image' ;</p>
<p>7.添加文件 /FCKeditor/test.jsp:<br>&lt;%@ page language="java" import="com.fredck.FCKeditor.*" %&gt;<br>&lt;%@ taglib uri="/FCKeditor" prefix="FCK" %&gt;<br>&lt;script type="text/javascript" src="/FCKeditor/fckeditor.js"&gt;&lt;/script&gt;</p>
<p>&lt;%--<br>三种方法调用FCKeditor<br>1.FCKeditor自定义标签 (必须加头文件&nbsp; &lt;%@ taglib uri="/FCKeditor" prefix="FCK" %&gt; )<br>2.script脚本语言调用 (必须引用 脚本文件 &lt;script type="text/javascript" src="/FCKeditor/fckeditor.js"&gt;&lt;/script&gt; )<br>3.FCKeditor API 调用 (必须加头文件 &lt;%@ page language="java" import="com.fredck.FCKeditor.*" %&gt; )<br>--%&gt;<br>&lt;%--<br>&lt;form action="show.jsp" method="post" target="_blank"&gt;<br>&nbsp;&lt;FCK:editor id="content" basePath="/FCKeditor/"<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; width="700"<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; height="500"<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; skinPath="/FCKeditor/editor/skins/silver/"<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; toolbarSet = "Default"<br>&nbsp;&gt;<br>&nbsp;input<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/FCK:editor&gt;<br>&lt;input type="submit" value="Submit"&gt;<br>&lt;/form&gt;<br>--%&gt;</p>
<p>&lt;form action="show.jsp" method="post" target="_blank"&gt;<br>&lt;table border="0" width="700"&gt;&lt;tr&gt;&lt;td&gt;<br>&lt;textarea id="content" name="content" style="WIDTH: 100%; HEIGHT: 400px"&gt;input&lt;/textarea&gt;<br>&lt;script type="text/javascript"&gt;<br>&nbsp;var oFCKeditor = new FCKeditor('content') ;<br>&nbsp;oFCKeditor.BasePath = "/FCKeditor/" ;<br>&nbsp;oFCKeditor.Height = 400;<br>&nbsp;oFCKeditor.ToolbarSet = "Default" ;&nbsp;<br>&nbsp;oFCKeditor.ReplaceTextarea();<br>&lt;/script&gt;<br>&lt;input type="submit" value="Submit"&gt;<br>&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;<br>&lt;/form&gt;</p>
<p>&lt;%--<br>&lt;form action="show.jsp" method="post" target="_blank"&gt;<br>&lt;%<br>FCKeditor oFCKeditor ;<br>oFCKeditor = new FCKeditor( request, "content" ) ;<br>oFCKeditor.setBasePath( "/FCKeditor/" ) ;<br>oFCKeditor.setValue( "input" );<br>out.println( oFCKeditor.create() ) ;<br>%&gt;<br>&lt;br&gt;<br>&lt;input type="submit" value="Submit"&gt;<br>&lt;/form&gt;<br>--%&gt;</p>
<p><br>&nbsp; 添加文件/FCKeditor/show.jsp:<br>&lt;%<br>String content = request.getParameter("content");<br>out.print(content);<br>%&gt;</p>
<p>8.浏览<a href="http://localhost:8080/FCKeditor/test.jsp"><u><font color=#0000ff>http://localhost:8080/FCKeditor/test.jsp</font></u></a><br>&nbsp; ok!</p>
<p>9.上传遇到错误: internal server error 500,<br>&nbsp; 直接引用servlet(com.fredck.FCKeditor.connector.ConnectorServlet)也遇到错误: "Provider org.apache.xalan.processor.TransformerFactoryImpl not found",<br>&nbsp; 拷贝xalan.jar到lib目录就可以了<br><br></p>
<!-- Begin #sidebar -->
<div id=sidebar>
<div id=sidebar2><script type="text/javascript"><!--
google_ad_client = "pub-4399204441904216";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "image";
//2007-07-23: http://romkk.j5com.cn/blog
google_ad_channel = "8013984535";
//-->
</script><script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div>
</div>
 <img src ="http://www.blogjava.net/RomKK/aggbug/131986.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/RomKK/" target="_blank">RomKK</a> 2007-07-24 10:35 <a href="http://www.blogjava.net/RomKK/archive/2007/07/24/131986.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>