jsp页面关于fckeditor2.6上传功能的问题

相信写日志等操作都需要用到html文本编辑器。我在用fckeditor2.6的时候出现了几个问题。比较纠结的问题就是上传功能就是不成功。查了好多网站终于解决了。说下我的问题。由于我用的是struts2加hibernate3.3开发的,没有整合spring。

首先去http://sourceforge.net/projects/fckeditor/files/FCKeditor.Java/2.6/下载fckeditor-java-demo-2.6.war下载DEMO示例就行了。如果你需要进行一些深入的设置的话,还是下fckeditor-java-2.6-src.zip。里面包含了demo示例了。

其实不需要修改很多东西,比如拿demo示例来说,只要解压出来,把fckeditor整个目录复制到自己项目的webroot目录下就好了(比如test/webroot)。打开自己项目里的web.xml文件。这里要注意了。由于加入了struts2,所以配置就要变下了,我之前的问题就出在这。下面是web.xml的配置。

 

 

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
	xmlns="http://java.sun.com/xml/ns/javaee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  

  
  	<filter>
		<filter-name>struts2</filter-name>
		<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
	</filter>
	
	<filter-mapping>
		<filter-name>struts2</filter-name>
		<url-pattern>*.action</url-pattern>
		<url-pattern>*.jsp</url-pattern>
		<url-pattern>*.do</url-pattern>
	</filter-mapping>
	

	
		<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>
		    <url-pattern>/fckeditor/editor/filemanager/connectors/*</url-pattern>
		</servlet-mapping>
			
	
  
</web-app>

 

 这样就可以了。不需要配置其他的servlet了。

如果你的struts2中的url-pattern配置成/*的话,就会出现以下错误:

 

2010-12-20 16:50:46 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet [Connector] in context with path [/graduation] threw exception [java.lang.IndexOutOfBoundsException: Index: 0, Size: 0] with root cause
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
	at java.util.ArrayList.RangeCheck(ArrayList.java:547)
	at java.util.ArrayList.get(ArrayList.java:322)
	at net.fckeditor.connector.Dispatcher.doPost(Dispatcher.java:255)
	at net.fckeditor.connector.ConnectorServlet.doPost(ConnectorServlet.java:128)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:88)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:242)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:203)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:108)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:379)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:242)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:259)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:281)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:619)

 

 fckeditor2.6和struts2整合的话。web.xml中struts2设置就不能是/*了。

如果还要更多复杂的fckeditor的设置。可以去网上找资料。有些个性化,还有上传图片每个用户都建个个人目录等等。都可以去网上查相关资料了。希望能帮人解决问题。都花了我一个下午的时间。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值