fckeditor-java-2.6中遇到的问题

1.gb2312编码工程中文乱码

解决方法:

(1)重写java-core-2.6.jar包中的ConnectorServlet类

把ConnectorServlet中的代码拷贝到新建的类中,如FckServlet中,修改

doPost 和doGet方法中的

request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");



request.setCharacterEncoding("GB2312");
response.setCharacterEncoding("GB2312");

(2)修改web.xml中的配置

<servlet>
<servlet-name>ConnectorServlet</servlet-name>
<servlet-class>
net.fckeditor.connector.ConnectorServlet -----------修改此处为你重写的类,如FckServlet完整路径
</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>



2、重命名上传文件

(1)重写java-core-2.6.jar包中的ConnectorServlet类和Dispatcher类,分别命名如:FckServlet和FckDispatcher 也就是将代码拷贝过来

(2)修改FckServlet中的

private transient Dispatcher dispatcher;



private transient FckDispatcher dispatcher;

修改

this.dispatcher = new Dispatcher(getServletContext());



this.dispatcher = new FckDispatcher(getServletContext());

(3)在FckDispatcher类中找到

List items = upload.parseRequest(request);

FileItem uplFile = (FileItem)items.get(0);

String fileName = FilenameUtils.getName(uplFile.getName());

在后面加入

//修改上传名子
String extension = FilenameUtils.getExtension(fileName);
fileName = (new Date()).getTime()+"."+extension;



(4)修改Web.xml配置

同上面web.xml配置修改一样,这样只用配置FckServlet路径

这样就完成了上传文件名修改,下面要做的就是修改超连接名子,要是不修改的话默认就会显示修改后的上传文件全路径,这样不是很友好

修改方法如下:

(1) 找到fckeditor/dialog/fck_link/fck_link.js文件

找到function CheckUpload()这个方法,大概在850行左右

(2)在这个方法上加入 var currfileName; 用来存放上传本地全路经

(3)在方法中 var sFile = GetE('txtUploadFile').value ;后加入

currfileName = sFile;

(4) 找到

if ( aHasSelection )
sInnerHtml = oLink.innerHTML ;这句代码大概在720行左右

在后面加入
var names = currfileName.split('\\');
var realName1 = names[names.length-1];
var realName = realName1.substring(0,realName1.indexOf('.'))
sInnerHtml = realName;

保有存,现在就运行就可以了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值