分类:
2008-05-30 11:51:01
Connector com.fredck.FCKeditor.connector.ConnectorServlet baseDir /uploadfiles/ debug false 2
SimpleUploader com.fredck.FCKeditor.uploader.SimpleUploaderServlet baseDir /uploadfiles/ debug false enabled true AllowedExtensionsFile
DeniedExtensionsFile
php|php3|php5|phtml|asp|aspx|ascx|jsp|cfm|cfc|pl|bat|exe|dll|reg|cgi|htm|html
AllowedExtensionsImage
jpg|gif|jpeg|png|bmp
DeniedExtensionsImage
AllowedExtensionsFlash
swf|fla
DeniedExtensionsFlash
1
Connector
/components/fck/editor/filemanager/browser/default/connectors/jsp/connector
SimpleUploader
/components/fck/editor/filemanager/upload/simpleuploader
FCKConfig.LinkBrowserURL = FCKConfig.BasePath +
" filemanager/browser/default/browser.html?Connector=connectors/jsp/connector " ;
FCKConfig.ImageBrowserURL =
FCKConfig.BasePath + " filemanager/browser/default/browser.html?Type=Image&Connector=connectors/jsp/connector " ;
FCKConfig.FlashBrowserURL = FCKConfig.BasePath + " filemanager/browser/default/browser.html?Type=Flash&Connector=connectors/jsp/connector " ;
FCKConfig.LinkUploadURL = FCKConfig.BasePath + 'filemanager / upload / simpleuploader ? Type = File' ;
FCKConfig.FlashUploadURL = FCKConfig.BasePath + 'filemanager / upload / simpleuploader ? Type = Flash' ;
FCKConfig.ImageUploadURL = FCKConfig.BasePath + 'filemanager / upload / simpleuploader ? Type = Image' ;
<%@page language="java" import="com.fredck.FCKeditor.* " %>
<%
FCKeditor oFCKeditor ;
oFCKeditor = new FCKeditor(request,"content");
// oFCKeditor.setBasePath("/cms/admin/components/fck/");// ---- FCK所在路径
oFCKeditor.setBasePath("components/fck/");// ---- FCK所在路径
oFCKeditor.setValue("value"); // ---- 文本框内的值
out.println(oFCKeditor.create()) ;
%>
4.FCKeditor类说明
下面是用来在页面中建立编辑器的FCKEDITOR 类的说明
(1) 构造器:
FCKeditor(instanceName[,width,height,toolbarSet,value])
instanceName:编辑器的唯一名称(相当于ID)
WIDTH:宽度
HEIGHT:高度
toolbarSet:工具条集合的名称
value:编辑器初始化内容
(2) 属性:
instanceName:编辑器实例名
width:宽度,默认值为100%
height:高度,默认值是200
ToolbarSet:工具集名称,参考FCKCONFIG.JS,默认值是Default
value:初始化编辑器的HTML 代码,默认值为空
BasePath:编辑器的基路径,默认为/Fckeditor/文件夹,注意,尽量不要使用相对路径.最用相对于站点根路径的表示方法,要以/结尾
CheckBrowser:是否在显示编辑器前检查浏览器兼容性,默认为true
DisplayErrors:是否显示提示错误,默为true;
(3) 集合:
Config[Key]=value;
这个集合用于更改配置中某一项的值,如
oFckeditor.Config["DefaultLanguage"]="ptbr";
(4) 方法:
Create()
建立并输出编辑器
RepaceTextArea(TextAreaName)
用编辑器来替换对应的文本框
5.如何配置FCKEDITOR
FCKEDITOR 提供了一套用于定制其外观,特性及行为的设置集.主配置文件名为Fckconfig.js你既可以编辑主配置文件,也可以自己定义单独的配置文件.配置文件使用JAVASCRIPT 语法.修改后,在建立编辑器时,可以使用以下语法:
varoFCKeditor=newFCKeditor('FCKeditor1');
oFCKeditor.Config['CustomConfigurationsPath']='/myconfig.js';
oFCKeditor.Create();
提醒:当你修改配置后,请清空浏览器缓存以查看效果
配置选项:
AutoDetectLanguage=true/false
自动检测语言
BaseHref=""相对链接的基地址
ContentLangDirection="ltr/rtl"默认文字方向
ContextMenu=字符串数组,右键菜单的内容
CustomConfigurationsPath=""自定义配置文件路径和名称
Debug=true/false 是否开启调试功能,这样,当调用FCKDebug.Output()时,会在调试窗中输出内容
DefaultLanguage=""缺省语言
EditorAreaCss=""编辑区的样式表文件
EnableSourceXHTML=true/false 为TRUE 时,当由可视化界面切换到代码页时,把HTML 处理成XHTML
EnableXHTML=true/false 是否允许使用XHTML 取代HTML
FillEmptyBlocks=true/false 使用这个功能,可以将空的块级元素用空格来替代
FontColors=""设置显示颜色拾取器时文字颜色列表
FontFormats=""设置显示在文字格式列表中的命名
FontNames=""字体列表中的字体名
FontSizes=""字体大小中的字号列表
ForcePasteAsPlainText=true/false
强制粘贴为纯文本
ForceSimpleAmpersand=true/false
是否不把&符号转换为XML 实体
FormatIndentator=""当在源码格式下缩进代码使用的字符
FormatOutput=true/false 当输出内容时是否自动格式化代码
FormatSource=true/false 在切换到代码视图时是否自动格式化代码
FullPage=true/false 是否允许编辑整个HTML 文件,还是仅允许编辑BODY 间的内容
GeckoUseSPAN=true/false 是否允许SPAN 标记代替B,I,U 标记
IeSpellDownloadUrl=""下载拼写检查器的网址
ImageBrowser=true/false 是否允许浏览服务器功能
ImageBrowserURL=""浏览服务器时运行的URL
ImageBrowserWindowHeight=""图像浏览器窗口高度
ImageBrowserWindowWidth=""图像浏览器窗口宽度
LinkBrowser=true/false 是否允许在插入链接时浏览服务器
LinkBrowserURL=""插入链接时浏览服务器的URL
LinkBrowserWindowHeight=""链接目标浏览器窗口高度
LinkBrowserWindowWidth=""链接目标浏览器窗口宽度
Plugins=object 注册插件
PluginsPath=""插件文件夹
ShowBorders=true/false 合并边框
SkinPath=""皮肤文件夹位置
SmileyColumns=12 图符窗列数
SmileyImages=字符数组图符窗中图片文件名数组
SmileyPath=""图符文件夹路径
SmileyWindowHeight 图符窗口高度
SmileyWindowWidth 图符窗口宽度
SpellChecker="ieSpell/Spellerpages"设置拼写检查器
StartupFocus=true/false 开启时FOCUS 到编辑器
StylesXmlPath=""设置定义CSS 样式列表的XML 文件的位置
TabSpaces=4TAB 键产生的空格字符数
ToolBarCanCollapse=true/false
是否允许展开/折叠工具栏
ToolbarSets=object 允许使用TOOLBAR 集合
ToolbarStartExpanded=true/false
开启是TOOLBAR 是否展开
UseBROnCarriageReturn=true/false
当回车时是产生BR 标记还是P 或者DIV 标记__
6.自定义样式列表
FCKEDITOR 的样式工具栏中提供了预定义的样式,样式是通过XML 文件定义的,默认的
XML 样式文件存在于FCkEditor 根文件夹下的FckStyls.xml 文件中
这个XML 文件的结构分析如下:
定此样式所适用的对象,因为FCKEDITOR 中的样式是上下文敏感的,也就是说,选择不同的
对象,仅会显示针对这类对象定义的样式
二,根据自己的需求修改:
点击上传图片,将图片信息上传到数据库.
修改connector/ConnectorServlet.java dopost/doget方法.
我用的是post方式提交的:
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String commandStr=request.getParameter("Command");
String typeStr=request.getParameter("Type");
String currentFolderStr=request.getParameter("CurrentFolder");
String currentPath=baseDir+typeStr+currentFolderStr;
// System.out.println(currentPath);
String currentDirPath=getServletContext().getRealPath(currentPath);
if (debug) System.out.println(currentDirPath);
String retVal="0";
String newName="";
if(!commandStr.equals("FileUpload"))
retVal="203";
else {
DiskFileUpload upload = new DiskFileUpload();
try {
List items = upload.parseRequest(request);
Map fields=new HashMap();
Iterator iter = items.iterator();
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();
if (item.isFormField())
fields.put(item.getFieldName(),item.getString());
else
fields.put(item.getFieldName(),item);
}
FileItem uplFile=(FileItem)fields.get("NewFile");
String fileNameLong=uplFile.getName();
// System.out.println(fileNameLong);
fileNameLong=fileNameLong.replace('\\','/');
String[] pathParts=fileNameLong.split("/");
String fileName=pathParts[pathParts.length-1];
// System.out.println(fileName+"ccccccccccc");
String nameWithoutExt=getNameWithoutExtension(fileName);
System.out.println(nameWithoutExt);
String ext=getExtension(fileName);
System.out.println(ext);
// 上传图片信息,添加到数据库中 开始
List
ImageMessage img=new ImageMessage();
img.setImageName(fileName);
img.setImagePaht(currentDirPath);
imlist.add(img);
LinkDatabase link=new LinkDatabase();
link.insertMessage(imlist);
//结束
File pathToSave=new File(currentDirPath,fileName);
int counter=1;
while(pathToSave.exists()){
newName=nameWithoutExt+"("+counter+")"+"."+ext;
retVal="201";
pathToSave=new File(currentDirPath,newName);
counter++;
}
uplFile.write(pathToSave);
}catch (Exception ex) {
retVal="203";
}
}
out.println("");
out.flush();
out.close();
if (debug) System.out.println("--- END DOPOST ---");
}
三,动态的修改工具栏
修改fckconfig.js文件.
在添加下面代码,把"Default",改为自定义工具名称.在jsp 页面设置FCKeditor实例 oFCKeditor.setToolbarSet("自定义工具名称");
FCKConfig.ToolbarSets["Default"] = [
['Source','DocProps','-','Save','NewPage','Preview','-','Templates'],
['Cut','Copy','Paste','PasteText','PasteWord','-','Print','SpellCheck'],
['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],
['Form','Checkbox','Radio','TextField','Textarea','Select','Button','ImageButton','HiddenField'],
'/',
['Style','FontFormat','FontName','FontSize'],
['TextColor','BGColor'],
['FitWindow','-','About']
] ;