今天成功的在Struts2中整合了FCKeditor。
步骤如下:
1.到http://sourceforge.net/projects/fckeditor/files/FCKeditor.Java/2.6/下载对应的资源。我觉得还是先看看它的主页http://ckeditor.com/,顺便鉴赏一下FCKeditor的品味嘛。到了下载页面,只要是做程序的都知道要下载哪些资源。我自认为是做程序的,下载了这两个:fckeditor-java-2.6-bin.zip ,fckeditor-java-demo-2.6.war 。
2.在classpath里添加fckeditor.properties文件
connector.userActionImpl=net.fckeditor.requestcycle.impl.EnabledUserAction
3.把包导入到lib下面。个人觉得这是出问题的一个大方面,做Java的免不了包冲突,这是好处也是坏处。把下载到的lib包导入到项目时一定要注意是否有名字差不多的,我的基本上是把版本低的删除。
4.配置web.xml。关于这个,网上的文章太多了。我的基本上是这样。要看到那个提示,它不要你换行哦!
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<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>
<!-- Do not wrap this line otherwise Glassfish will fail to load this file -->
<url-pattern>/fckeditor/editor/filemanager/connectors/*</url-pattern>
</servlet-mapping>
5.把fckeditor-java-demo-2.6.war里面的那些个文件(fckeditor)拷到web项目下,这些比较精简。
6.基本可以了,在jsp页面就可以这样用了哦!
<%@ taglib prefix="fck" uri="http://java.fckeditor.net" %>
<fck:editor instanceName="downloadExplain" height="350" width="550" ></fck:editor>
7.我刚开始在用的时候装进去就可以,拿出来就不知道了,现在顺便把拿出来的也写一下,网上好像有其他,顺便写一下。
a.
<fck:editor instanceName="introduction" height="500" width="550" value="${product.introduction}"></fck:editor>
b.
<fck:editor instanceName="EditorDefault">
<jsp:attribute name="value">
这里显示文本区的内容,可以用struts2的标签,但是需要添加上escape属性
</jsp:attribute>
这里还可以配置其他参数,具体参见文档
</fck:editor>
c.
<%
FCKeditor fckEditor = new FCKeditor(request, "EditorDefault");
%>
<%
fckEditor.setInstanceName("strAnswer") ;
fckEditor.setValue("要显示的内容");
out.println(fckEditor);
%>
8.顺便说一下,那些个还在找图片为什么不能上传的人啊,检查一下包有没有冲突,基本上是包的问题了。