废话不多说,都是我个人的搭建步骤,仅供参考
1. 下载FCKeditor_2.6.6.zip、fckeditor-java-2.6-bin.zip、fckeditor-java-2.6-src.zip(要修改源码)、fckeditor-java-demo-2.6.war。
2.把FCKeditor_2.6.6.zip解压到WebRoot下;把commons-fileupload-1.2.1.jar、commons-io-1.3.2.jar、imageinfo-1.9.jar、java-core-2.6.jar、slf4j-api-1.5.8.jar、slf4j-simple-1.5.8.jar(这些jar包可以从war中获得)放到WEB-INF的lib下;把fckeditor.properties(可以从war中获得或是参考文档)放到src中。
3.编写fckeditor_index.jsp:(我用的是jsp标签的方式,还有javascript的方式,网上很多)
<%@ page language="java" pageEncoding="utf-8"%>
<%@ taglib uri="http://java.fckeditor.net" prefix="FCK" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Insert title here</title>
<script type="text/javascript">
</script>
</head>
<body>
<form action="fckeditor_index.jsp" method="post">
<FCK:editor instanceName="MyFCKeditor" basePath="/fckeditor" value=" " toolbarSet="myToolbar"></FCK:editor>
<input type="submit" value="提交" />
</form>
<%
request.setCharacterEncoding("utf-8");
String myFCKeditor=request.getParameter("MyFCKeditor"); %>
<%=myFCKeditor %>
</body>
</html>
4.编写myconfig.js放在fckeditor目录下
FCKConfig.DefaultLanguage = 'zh-cn' ;
FCKConfig.FontNames = '宋体;楷体;隶书;黑体;Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana' ;
FCKConfig.EnterMode = 'br' ; // p | div | br
FCKConfig.ShiftEnterMode = 'p' ; // p | div | br
FCKConfig.ToolbarSets["myToolbar"] = [
['Source','DocProps','-','Save','NewPage','Preview','-','Templates'],
['Cut','Copy','Paste','PasteText','PasteWord','-','SpellCheck'],
['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],
['Form','Checkbox','Radio','TextField','Textarea','Select','Button','ImageButton','HiddenField'],
'/',
['Bold','Italic','Underline','StrikeThrough','-','Subscript','Superscript'],
['OrderedList','UnorderedList','-','Outdent','Indent','Blockquote','CreateDiv'],
['JustifyLeft','JustifyCenter','JustifyRight','JustifyFull'],
['Link','Unlink','Anchor'],
['Image','Flash','Table','Rule','Smiley','SpecialChar','PageBreak'],
'/',
['Style','FontFormat','FontName','FontSize'],
['TextColor','BGColor'],
['FitWindow','ShowBlocks','-','About'] // No comma for the last row.
] ;
5.修改fckconfig.js中的
FCKConfig.CustomConfigurationsPath = FCKConfig.EditorPath + 'myconfig.js' ;
6.web.xml中加入(net.fckeditor.connector.ConnectorServlet是后面要改的)
<servlet>
<servlet-name>ConnectorServlet</servlet-name>
<servlet-class>net.fckeditor.connector.ConnectorServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>ConnectorServlet</servlet-name>
<url-pattern>
/fckeditor/editor/filemanager/connectors/*
</url-pattern>
</servlet-mapping>
7.运行应该可以看到fckeditor的编辑界面了,但这时上传文件中如果含有中文或是建立中文名的目录都会有乱码或是中文名文件无法用到,就要修改源码了。
8.在src中建立三个java文件:
com.wujay.ConnectorServlet.java与java-core-2.6.jar中net.fckeditor.connector.ConnectorServlet.java基本一样,只是其中的Dispatcher引用的是下面改版的:
com.wujay.Dispatcher.java与java-core-2.6.jar中net.fckeditor.connector.Dispatcher.java基本一样,只是在doGet方法中的
if (command.equals(Command.CREATE_FOLDER)) {
String newFolderNameStr = request.getParameter("NewFolderName");
后加上一句
newFolderNameStr = new String(newFolderNameStr.getBytes("iso8859-1"), "utf-8");
在doPost方法中的
String fileName = FilenameUtils.getName(uplFile.getName());
logger.info("Parameter NewFile: {}", fileName);
后加上
String extension = FilenameUtils.getExtension(fileName);
StringBuffer fileRandomName=new StringBuffer();
fileRandomName.append(DateAndUuidName.generateName()).append(".").append(extension);
fileName=fileRandomName.toString();
com.wujay.DateAndUuidName.java如下:
/**
* 生成当前时间和UUID的结合字符串
* @author wujay
*/
public class DateAndUuidName {
public static String generateName() {
String date = new SimpleDateFormat("yyyyMMddHHmmss").format(Calendar.getInstance().getTime());
String uuidStr=UUID.randomUUID().toString();
StringBuffer temp = new StringBuffer();
temp.append(date).append('_').append(uuidStr);
return temp.toString();
}
}
修改web.xml中的net.fckeditor.connector.ConnectorServlet为我刚写的com.wujay.ConnectorServlet。
9.OK了! 不怕中文了哈哈
10.今天看到了pinyin4j的东西,可以写个FileNameHelper类把上传的文件名中的汉字改成拼音,也可以解决问题,比UUID看上去直观些
/**
* 生成当前时间和文件名汉字转拼音的结合字符串
*
* @author wujay
*/
public class FileNameHelper {
public String switchName(String fileName) throws BadHanyuPinyinOutputFormatCombination {
String date = new SimpleDateFormat("yyyyMMddHHmmss").format(Calendar.getInstance().getTime());
String newFileName = getPinYin(fileName);
StringBuffer temp = new StringBuffer();
temp.append(date).append('_').append(newFileName);
return temp.toString();
}
// 如果有中文则把中文转化成拼音
public String getPinYin(String zhongWen) throws BadHanyuPinyinOutputFormatCombination {
String zhongWenPinYin = "";
char[] chars = zhongWen.toCharArray();
for (int i = 0; i < chars.length; i++) {
String[] pinYin = PinyinHelper.toHanyuPinyinStringArray(chars[i], getDefaultOutputFormat());
// 当转换不是中文字符时,返回null
if (pinYin != null) {
zhongWenPinYin += capitalize(pinYin[0]);
} else {
zhongWenPinYin += chars[i];
}
}
return zhongWenPinYin;
}
// 输出格式
public HanyuPinyinOutputFormat getDefaultOutputFormat() {
HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
format.setCaseType(HanyuPinyinCaseType.LOWERCASE);// 小写
format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);// 有音调数字
format.setVCharType(HanyuPinyinVCharType.WITH_V);// u显示成v
return format;
}
// Capitalize 首字母大写
public static String capitalize(String s) {
char ch[] = s.toCharArray();
if (ch[0] >= 'a' && ch[0] <= 'z') {
ch[0] = (char) (ch[0] - 32);
}
return new String(ch);
}
}
分享到:
相关推荐
FCK是一款免费的开源的web在线文档编辑器,支持多国语言。 压缩包中有三个文件:两个是开发包,一...FCK是一款非常优秀的插件,可用于asp、aspx、php、jsp、ruby、Python、perl以及js等等。灰常灰常的强大!强力推荐!
Java FCKeditor 2.6.6是一款基于Java平台的开源富文本编辑器,它为开发者提供了在Web应用中集成富文本编辑功能的解决方案。FCKeditor最初由FredCK开发,后更名为CKEditor,广泛应用于网页和Web应用程序,提供丰富的...
2. **引入JS文件**: 在需要使用FCKeditor的JSP页面中,通过`<script>`标签引入fckeditor.js文件。 3. **配置编辑器**: 创建`<fckeditor>`标签,指定编辑器的ID、宽度、高度以及要编辑的字段名。 4. **初始化编辑器**...
本文将深入探讨FCKeditor 2.6.6版本在Java环境中的配置和使用方法。** 1. **FCKeditor简介** - FCKeditor是一款基于JavaScript的文本编辑器,支持多种浏览器,包括IE、Firefox、Chrome、Safari等。 - 它提供了...
FCKeditor(现更名为CKEditor)是一款广泛使用的开源富文本编辑器,在诸多网站及应用中都有其身影。然而,随着时间的发展和技术的进步,该编辑器逐渐暴露出一些安全问题。本文主要针对Fckeditor存在的若干已知漏洞...
《FCKeditor 2.6.6 Java版:构建高效文本编辑体验》 FCKeditor是一款功能强大的开源富文本编辑器,尤其在2.6.6版本中,它为Java开发者提供了一种方便的方式来实现文本编辑、图片上传及文档编写等功能。这个版本不仅...
在本教程中,我们将探讨如何在已有环境基础上安装FCKeditor 2.6.6版本,并结合MySQL数据库进行配置,以便在JSP应用程序中使用。 首先,你需要下载FCKeditor 2.6.6版本的压缩包,通常包含一个名为"FCKeditor"的...
FCKeditor_2.6.6.zip则可能是FCKeditor的完整安装包,包含所有必要的文件和资源,包括CSS样式表、JavaScript库、图像和其他必需的组件。用户可以直接将这个包解压到Web服务器上,然后通过简单的配置就可以在网页中...
通过以上步骤,你可以在JSP环境中成功配置并使用FCKEditor,让网站用户享受到便捷的富文本编辑体验。在实际应用中,你可能还需要根据项目需求进一步定制编辑器的功能,例如限制编辑器的某些操作,或者添加更多的...
可以参考fckeditor-java-demo-2.6的jsp文件或FCKeditor2.6.6源码的_samples\html文件夹下的文件来了解如何调用。 7. 运行Web项目,你应该能看到FCKeditor在Struts2应用中正常工作了。 如果你需要调试FCKeditor-...
以下是对FCKeditor的详细使用说明: **一、FCKeditor的准备工作** 1. 首先,你需要从官方网站www.fckeditor.net下载FCKeditor的最新版本,如FCKeditor_2.6.6.rar和fckeditor-java-2.6-bin.zip。 2. 创建一个新的...
jsp中使用FCKeditor所需的jar包(针对版本FCKeditor_2.6.6) 下载该包后,还需下载FCKeditor_2.6.6 和FCKeditor-java-2[1].3-src 相关如何配置请链接:...
压缩包中的`FckEditor for java 2.6的JSP 配置方法详解.doc`文档,详细阐述了如何在Java环境中配置和使用FCKeditor,包括如何将编辑器与JSP页面结合,以及处理文件上传等操作。`fckeditor-java-2.6-src.zip`和`...