在struts2环境下解决与eWebdietor上传图片的问题.docx
一.问题:在struts2环境下用html编辑器不能上传图片;
二.文本编辑器:飞鱼版的ewebeditor,简单新浪htmleditor;
三.状态描述:两种上传图片都是在点击上传确认的时候卡住,飞鱼版的会出现滚动条显示图片上传中,可是很长时间也上传不成功,很长时间后,查看源代码,显示为null;
四.分析:是由于struts框架自带的拦截器问题,上网上搜索解决的方案,基本上没有很好的解决办法。最多的是这样的答案:就是更改web.xml,改成如下:
filter-mapping
filter-namestruts2/filter-name
url-pattern*.action/url-pattern
/filter-mapping
filter-mapping
filter-namestruts2/filter-name
url-pattern*.jsp/url-pattern
/filter-mapping
但是问题还没有解决。这样的方法是不行的,struts框架还是会拦截。其实是对处理上传的代码文件进行拦截。不管是.action还是.jsp都会拦截。
五.解决方案(真对飞鱼版的ewebeditor):
修改Tomcat,在Tomcat-----conf web.xml添加一个文件格式识别;
servlet-mapping
servlet-namejsp/servlet-name
url-pattern*.jsp/url-pattern
/servlet-mapping
servlet-mapping
servlet-namejsp/servlet-name
url-pattern*.jspx/url-pattern
/servlet-mapping
此处为添加的内容,作用是文件以.guo结尾的文件以jsp来处理;*号后面可以任意。
servlet-mapping
servlet-namejsp/servlet-name
url-pattern*.guo/url-pattern
/servlet-mapping
修改文件名:找到是哪个文件(jsp)来处理上传的formaction=\upload.jsp?action=savetype=,比如这段代码可以看出是提交给 upload.jsp
来进行上传的,可以代开upload.jsp看看,确实是。把它复制一份,然后改成upload.guo放到项目里。修改upload.jsp里的form提交的路径都改成upload.guo让这个文件来处理上传。其实他们两个没有区别,试试struts2在提交的时候不拦截了,因为它是.guo文件。这样就OK了!其他的估计也是这样的问题,这是最大的障碍,希望有更好的方法,不用动Tomcat,希望高手来指点!