- 浏览: 88283 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
com_zyq:
怎么没有其他介绍呀
java开发web类似xp资源管理器上传图片工具 -
ballence:
感谢楼主,教程很好~~
继续努力
ApacheTomcat整合教程. -
cheqicheqi:
因为我使用spring mvc视图层是静态文件,fck的tld ...
Velocity中使用FCKeditor(FCKeditor for java) -
tianshui0:
<div class="quote_title ...
Velocity中使用FCKeditor(FCKeditor for java) -
ty0410916:
大哥你写的
FCKeditorWrapper fck = ne ...
Velocity中使用FCKeditor(FCKeditor for 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>
评论
用Velocity就是为了省略配置文件,不需要配置,只要引用就可以了。
FCKeditorWrapper fck = new FCKeditorWrapper(request);
request.setAttribute("editor", fck);
这里看不明白,这两句是放到哪里的?另外上面的FCKeditorWrapper 这个类实例不了!
用Velocity就是为了省略配置文件,所以在这里是不需要配置文件的。
发表评论
-
Sping +hibernate+JTA 注解配置
2014-04-22 10:31 3515随着业务的不断扩展数据库的压力越来越大,为了减少数据 ... -
使用struts 注解解决重复提交问题
2014-04-16 11:47 1536如何解决表单的重复提交问题?目前使用表单提交的方式 ... -
log4j 获取动态参数(转载)
2014-04-09 16:16 995在log中必须先了解log4j自带的两个类MDC和NDC ... -
Log4j写入数据库记录
2014-04-09 15:25 665log4j.rootLogger=DEBUG,db ... -
Struts2 注解中跳转 action
2014-02-28 17:30 0在xml中跳转action我想大家都是会的,那么注解中跳转其 ... -
开源软件镜像站点列表
2014-01-01 21:16 950阿里云开源镜像站:htt ... -
上传图片预览(服务器版)组件
2013-06-22 19:04 2697preview v0.1.0 初始版本 图片上传预 ... -
宝宝日期计算小工具
2013-05-05 07:52 926在计算今天宝宝已经出生了多少天,很烦人。每当有人问起宝宝多 ... -
jsp Tag 编写中基本类型问题
2013-03-30 07:53 817最近在项目中做jsp 标签写function时老是提示找不 ... -
自动升级程序设计
2012-11-19 22:54 1301最近公司接了一个项目 ... -
java操作properties文件持久键值对和注解到文件
2012-10-31 22:04 2397properties文件在应用系统很长用,写propertie ... -
java 调用cmd/sh文件
2012-10-30 21:21 8936最近在做产品遇到java在windows下面调用bat脚本和在 ... -
hadoop操作HDFS文件权限问题
2012-02-12 12:51 26721描述:在window下使用Ecli ... -
liunx安装jdk和Tomcat
2011-01-01 23:49 11741.下载jdk和tomcat apache-tom ... -
Tomcat内存溢出解决方法
2010-12-31 22:28 1052-Xms256m -Xmx512m -XX:PermSize= ... -
J2EE学习中一些值得研究的开源项目
2009-10-16 09:38 574这篇文章写在我研究J2SE、J2EE近三年后。前3年我研究了J ... -
java开发web类似xp资源管理器上传图片工具
2009-01-11 18:00 2337在客户端实施的类似xp资源管理器上传图片工具 -
ApacheTomcat整合教程.
2009-01-07 14:12 1264如题,网上搜到的本人觉得不错,挺详细的! -
Session机制详解(jsp-servlet 技术)
2008-12-17 13:24 1284虽然session机制在web应用程序中被采用已经很长时间了, ...
相关推荐
1. 避免在模板中使用复杂的逻辑,因为Velocity主要是为了分离逻辑和展示,过于复杂的逻辑应该放在后台处理。 2. 注意变量命名规范,遵循Java的驼峰命名规则,提高代码可读性。 3. 使用`#set`指令时,记得对变量...
注意:在 Velocity 中使用 $2.5 这样的货币标识是没有问题的,因为 Velocity 中的变量总是以一个大写或者小写的字母开始的。 2. 变量规范的写法: ${name} ,也可以写成:$name 。提倡用前面的写法。例如: 你...
总的来说,《Velocity Java开发指南》中文版提供了详尽的指导,帮助读者理解和掌握如何利用Velocity模板引擎高效地处理文本数据,创建动态内容,以及将其应用于实际的Java项目中,无论是独立应用还是Web服务。...
** Velocity 概述** Velocity 是一个开源的 Java 模板引擎,它允许开发者...通过上述步骤,你将能够熟练地使用 Velocity 1.4 进行 Java Web 开发,将动态数据无缝地融合到静态页面中,提升项目的开发效率和用户体验。
#### 六、Using Velocity In General Applications (在一般应用程序中使用 Velocity) - **The Velocity Helper Class**: 介绍了一个辅助类,它可以简化 Velocity 的使用,提供了一些方便的方法来处理常见的任务。 -...
本课程从velocity engine也就是velocity引擎开始, 先讲解velocity的基本使用以及基础语法 , 然后再讲解velocity 的进阶内容velocity Tools , 以及velocity作为web项目的视图改如何使用 , 每一部分都会有一个综合案例...
在Java项目中,要使用Velocity,首先需要添加Velocity的依赖库,然后创建VelocityContext对象,将数据放入上下文,接着初始化Velocity Engine,最后渲染模板并输出结果。以下是一个简单的示例: ```java import org...
首先,创建一个模板文件(.vm),在这个文件中使用VTL语法定义输出格式。然后,在Java代码中初始化Velocity引擎,并通过Velocity引擎读取模板文件,再将Java对象数据传入模板,最终合并生成最终的文本输出。 具体...
#### 六、在通用 Java 应用程序中使用 Velocity - **Velocity Helper 类**:提供了一系列简化 Velocity 使用的方法。 - **异常处理**:介绍如何处理 Velocity 运行时可能出现的各种异常。 - **其他细节**:包括如何...
Velocity是一个基于Java的模板引擎,它允许开发者在模板中使用特定的语法(Velocity Template Language, VTL)来插入动态内容。当模板与数据源结合时,Velocity会生成最终的静态输出,如HTML页面或XML文档。这遵循...
1. **配置Velocity**:在Java项目中使用Velocity需要引入对应的依赖库,然后创建Velocity引擎实例,设置配置参数,如模板目录、缓存策略等。 2. **加载模板**:使用Velocity引擎加载模板文件,通常模板文件存储在...
1. **初始化Velocity上下文**:在Java代码中,你需要创建一个`VelocityContext`对象,并向其中添加你要在模板中使用的变量。 2. **加载模板**:使用`VelocityReader`或`ResourceLoader`加载模板文件。 3. **合并上...
- **创建上下文**: 填充需要在模板中使用的数据。 - **合并模板**: 将上下文中的数据与模板结合,生成最终的 HTML 或其他格式的输出。 - **输出**: 结果被发送到客户端或写入文件。 ### 4. 自定义指令和宏 ...
Velocity 模板使用指南中文版 Velocity 是一种流行的模板引擎,广泛应用于Java 和 .Net 平台。它提供了一个灵活、可扩展的模板语言,能够根据需要生成动态内容。本文档是 Velocity 模板使用指南中文版,旨在帮助...
Velocity是Apache软件基金会下的一个开源项目,它是一...通过这个实例,你可以深入了解Velocity的工作原理,以及如何在实际项目中使用它。这不仅有助于提升Web开发技能,还能让你更好地理解MVC架构中视图层的实现方式。
`VelocityContext`是Velocity框架中的核心类之一,用于存储和管理模板上下文中使用的变量和对象。`VelocityContext`提供了一个`put(key, value)`方法来存储变量,其中key是变量名,value是变量值。 - **多层嵌套**...
两者结合,可以方便地在Spring中使用Velocity模板来渲染视图。 在"velocity例子"中,我们通常会看到以下几个关键知识点: 1. **Velocity模板语言 (VTL)**: VTL是一种简单的文本模板语言,它允许开发者插入变量和...
在实际应用中,两者都与Spring框架有良好的集成,能方便地在MVC应用中使用。 总结,Freemarker和Velocity都是强大的模板引擎,它们能够帮助开发者高效地实现动态内容的生成。理解并掌握这两种工具,对于提升Java ...