`
tianshui0
  • 浏览: 88283 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Velocity中使用FCKeditor(FCKeditor for java)

    博客分类:
  • Java
阅读更多

1.下载
fckeditor-java-2.4.1-bin.zip

http://sourceforge.net/project/showfiles.php?group_id=75348&package_id=129511

FCKeditor_2.6.4.zip(基础包)

http://www.fckeditor.net/download

 

2.项目部署

将FCKeditor_2.6.4.zip解压缩,将整个目录FCKeditor复制到项目的根目录下,
目录结构为:和WEB-INF平级
然后将fckeditor-java-2.4.1-bin\fckeditor-java-2.4.1\lib目录下的

slf4j-api-1.5.2.jar、commons-io-1.3.2.jar、commons-fileupload-1.2.1.jar

三个个jar文件拷到项目的\WEB-INF\lib\目录下。

fckeditor-java-2.4.1-bin\fckeditor-java-2.4.1目录下fckeditor-java-core-2.4.1.jar文件也可拷贝到\WEB-INF\lib\目录下。

 

3.整合web.xml

 将以下代码放入web.xml中

	<servlet>
		<servlet-name>Connector</servlet-name>
		<servlet-class>
			net.fckeditor.connector.ConnectorServlet
		</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>

	<servlet-mapping>
		<servlet-name>Connector</servlet-name>
		<!-- Do not wrap this line otherwise Glassfish will fail to load this file -->
		<url-pattern>
			/fckeditor/editor/filemanager/connectors/*
		</url-pattern>
	</servlet-mapping>

 

4.精简FCKeditor

     1>临时文件及文件夹删除:从根目录下开始删除一切以“_”开头的文件及文件夹,因为他们为临时文件和文件夹。删除这类临时文件及文件夹之后,我们还要删除一些根目录下的多余文件,根目录下我们只保留fckconfig.js(配置文件)、fckeditor.js(js方式调用文件)、fckstyles.xml(样式)、fcktemplates.xml(模板)文件和editor文件夹。

      2>editor\lang目录:存放的是多语言配置文件,因为我们只可能用到en和zh-cn(简体中文)所以,根据我的选择,我删掉其他的语言配置文件。

      3>editor\skins界面目录:默认带有三个界面(default:默认界面,加载速度相对较快;office2003:相对pp的界面,不过速度确实要慢些;silver:银白色界面,加载速度也相对较快),可以自行决定是否删除其中一两个。

      4>editor\filemanager\browser\default\connectors目录:存放编辑器所支持的Web动态语言,我们以php为例所以保留php目录,test.html文件可以帮助你查看某语言下的上传设置等(具体上传设置我将在后面的配置作较为详细讲解),可以自行决定是否删除。

       5>editor\filemanager\upload目录:同理。

 

5.FCKeditor配置

  配置选项:
AutoDetectLanguage=true/false 自动检测语言
BaseHref="" _fcksavedurl="""" 相对链接的基地址
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=4 TAB键产生的空格字符数
ToolBarCanCollapse=true/false 是否允许展开/折叠工具栏
ToolbarSets=object 允许使用TOOLBAR集合
ToolbarStartExpanded=true/false 开启是TOOLBAR是否展开
UseBROnCarriageReturn=true/false 当回车时是产生BR标记还是P或者DIV标记

 

6.创建在Velocity中使用FCKeditor的类

   新建类如下所示:

/**
 * 包名:com.lyw.cms.base.utill<br>
 * 文件:FCKeditorWrapper.java<br>
 * 作者:zohan[inlw@sina.com]
 * 时间:20097:42:27 PM<br>
 * 
 * Current revision $Revision: 1.1 $<br>
 * Latest change by $Author: zohan $<br>
 * $Log: FCKeditorWrapper.java,v $
 * Revision 1.1  2009/04/24 04:32:28  zohan
 * 文章开始
 * <br>
 */
package com.lyw.cms.base.utill;

import javax.servlet.http.HttpServletRequest;

import net.fckeditor.FCKeditor;

/**
 * @author Administrator
 * 
 */
public class FCKeditorWrapper {
	private HttpServletRequest request;

	public FCKeditorWrapper(final HttpServletRequest request) {
		this.request = request;
	}

	/**
	 * 
	 * @param instanceName 参数名称
	 * @param value
	 * @return
	 */
	public String get(final String instanceName, final String value) {
		FCKeditor editor = new FCKeditor(request, instanceName);
		editor.setValue(value);
		return editor.createHtml();
	}

	/**
	 * 
	 * @param instanceName 参数名称
	 * @param width
	 * @param height
	 * @param toolbarSet
	 * @param value
	 * @return
	 */
	public String get(final String instanceName, final String width,
			final String height, final String toolbarSet, final String value) {
		FCKeditor editor = new FCKeditor(request, instanceName, width, height,
				toolbarSet, value, null);
		editor.setValue(value);
		return editor.createHtml();
	}

}

 

 7.在Velocity中使用FCKeditor

     将FCKeditorWrapper 放入Velocity能调用的地方并取名为editor,例如:

     

   FCKeditorWrapper fck = new FCKeditorWrapper(request);
   request.setAttribute("editor", fck);

     在Velocity中使用

<form method="post" action="save.action">
   $editor.get("content", "请在这里填入内容");
   <input type="submit" value="提交" />
</form>

 

  

 

分享到:
评论
5 楼 cheqicheqi 2010-04-07  
因为我使用spring mvc视图层是静态文件,fck的tld不能以jsp标签形式导入,被这个问题困绕了好久,楼主太强大了.
4 楼 tianshui0 2009-10-23  
liuwg 写道
配置文件在哪里配置


用Velocity就是为了省略配置文件,不需要配置,只要引用就可以了。
3 楼 ty0410916 2009-10-20  
大哥你写的
FCKeditorWrapper fck = new FCKeditorWrapper(request);  
request.setAttribute("editor", fck);
这里看不明白,这两句是放到哪里的?另外上面的FCKeditorWrapper 这个类实例不了!
2 楼 tianshui0 2009-06-23  
liuwg 写道
配置文件在哪里配置

用Velocity就是为了省略配置文件,所以在这里是不需要配置文件的。
1 楼 liuwg 2009-05-19  
配置文件在哪里配置

相关推荐

    JAVA的Velocity语法学习

    1. 避免在模板中使用复杂的逻辑,因为Velocity主要是为了分离逻辑和展示,过于复杂的逻辑应该放在后台处理。 2. 注意变量命名规范,遵循Java的驼峰命名规则,提高代码可读性。 3. 使用`#set`指令时,记得对变量...

    JAVA中Velocity语法基础.pdf

    注意:在 Velocity 中使用 $2.5 这样的货币标识是没有问题的,因为 Velocity 中的变量总是以一个大写或者小写的字母开始的。 2. 变量规范的写法: ${name} ,也可以写成:$name 。提倡用前面的写法。例如: 你...

    《Velocity java开发指南》中文版

    总的来说,《Velocity Java开发指南》中文版提供了详尽的指导,帮助读者理解和掌握如何利用Velocity模板引擎高效地处理文本数据,创建动态内容,以及将其应用于实际的Java项目中,无论是独立应用还是Web服务。...

    velocity文档(Velocity1.4java开发指南中文版,Velocity1.4模板使用指南中文版中文版)

    ** Velocity 概述** Velocity 是一个开源的 Java 模板引擎,它允许开发者...通过上述步骤,你将能够熟练地使用 Velocity 1.4 进行 Java Web 开发,将动态数据无缝地融合到静态页面中,提升项目的开发效率和用户体验。

    velocity Java开发指南中文版

    #### 六、Using Velocity In General Applications (在一般应用程序中使用 Velocity) - **The Velocity Helper Class**: 介绍了一个辅助类,它可以简化 Velocity 的使用,提供了一些方便的方法来处理常见的任务。 -...

    Java进阶教程Velocity快速掌握模板引擎视频

    本课程从velocity engine也就是velocity引擎开始, 先讲解velocity的基本使用以及基础语法 , 然后再讲解velocity 的进阶内容velocity Tools , 以及velocity作为web项目的视图改如何使用 , 每一部分都会有一个综合案例...

    Velocity--java的模板引擎

    在Java项目中,要使用Velocity,首先需要添加Velocity的依赖库,然后创建VelocityContext对象,将数据放入上下文,接着初始化Velocity Engine,最后渲染模板并输出结果。以下是一个简单的示例: ```java import org...

    velocity入门使用教程

    首先,创建一个模板文件(.vm),在这个文件中使用VTL语法定义输出格式。然后,在Java代码中初始化Velocity引擎,并通过Velocity引擎读取模板文件,再将Java对象数据传入模板,最终合并生成最终的文本输出。 具体...

    Velocity java开发指南

    #### 六、在通用 Java 应用程序中使用 Velocity - **Velocity Helper 类**:提供了一系列简化 Velocity 使用的方法。 - **异常处理**:介绍如何处理 Velocity 运行时可能出现的各种异常。 - **其他细节**:包括如何...

    Velocity入门小实例,纯java工程

    Velocity是一个基于Java的模板引擎,它允许开发者在模板中使用特定的语法(Velocity Template Language, VTL)来插入动态内容。当模板与数据源结合时,Velocity会生成最终的静态输出,如HTML页面或XML文档。这遵循...

    velocity+Java开发指南中文版.zip

    1. **配置Velocity**:在Java项目中使用Velocity需要引入对应的依赖库,然后创建Velocity引擎实例,设置配置参数,如模板目录、缓存策略等。 2. **加载模板**:使用Velocity引擎加载模板文件,通常模板文件存储在...

    velocity中文文档 教程

    1. **初始化Velocity上下文**:在Java代码中,你需要创建一个`VelocityContext`对象,并向其中添加你要在模板中使用的变量。 2. **加载模板**:使用`VelocityReader`或`ResourceLoader`加载模板文件。 3. **合并上...

    Velocity模板使用指南中文版

    - **创建上下文**: 填充需要在模板中使用的数据。 - **合并模板**: 将上下文中的数据与模板结合,生成最终的 HTML 或其他格式的输出。 - **输出**: 结果被发送到客户端或写入文件。 ### 4. 自定义指令和宏 ...

    velocity模板使用指南中文版

    Velocity 模板使用指南中文版 Velocity 是一种流行的模板引擎,广泛应用于Java 和 .Net 平台。它提供了一个灵活、可扩展的模板语言,能够根据需要生成动态内容。本文档是 Velocity 模板使用指南中文版,旨在帮助...

    velocity的web和java实例(可直接运行)

    Velocity是Apache软件基金会下的一个开源项目,它是一...通过这个实例,你可以深入了解Velocity的工作原理,以及如何在实际项目中使用它。这不仅有助于提升Web开发技能,还能让你更好地理解MVC架构中视图层的实现方式。

    使用velocity

    `VelocityContext`是Velocity框架中的核心类之一,用于存储和管理模板上下文中使用的变量和对象。`VelocityContext`提供了一个`put(key, value)`方法来存储变量,其中key是变量名,value是变量值。 - **多层嵌套**...

    velocity例子

    两者结合,可以方便地在Spring中使用Velocity模板来渲染视图。 在"velocity例子"中,我们通常会看到以下几个关键知识点: 1. **Velocity模板语言 (VTL)**: VTL是一种简单的文本模板语言,它允许开发者插入变量和...

    freemarker&velocity的使用

    在实际应用中,两者都与Spring框架有良好的集成,能方便地在MVC应用中使用。 总结,Freemarker和Velocity都是强大的模板引擎,它们能够帮助开发者高效地实现动态内容的生成。理解并掌握这两种工具,对于提升Java ...

Global site tag (gtag.js) - Google Analytics