
项目截图:


今天下载验证了下,发现抛出如下异常:
01 | javax.servlet.ServletException: java.io.IOException: Stream closed |
02 | org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java: 515 ) |
03 | org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java: 422 ) |
04 | com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java: 118 ) |
05 | com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java: 52 ) |
06 | org.apache.struts2.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java: 99 ) |
07 | org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java: 198 ) |
08 | org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java: 76 ) |
11 | java.io.IOException: Stream closed |
12 | org.apache.jasper.runtime.JspWriterImpl.ensureOpen(JspWriterImpl.java: 204 ) |
13 | org.apache.jasper.runtime.JspWriterImpl.flushBuffer(JspWriterImpl.java: 115 ) |
14 | org.apache.jasper.runtime.JspWriterImpl.flush(JspWriterImpl.java: 173 ) |
15 | org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java: 956 ) |
16 | org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java: 624 ) |
17 | org.apache.struts2.dispatcher.ServletDispatcherResult.doExecute(ServletDispatcherResult.java: 119 ) |
18 | org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java: 178 ) |
19 | com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java: 348 ) |
20 | com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java: 253 ) |
21 | org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java: 50 ) |
22 | org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java: 504 ) |
23 | org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java: 422 ) |
24 | com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java: 118 ) |
25 | com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java: 52 ) |
26 | org.apache.struts2.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java: 99 ) |
27 | org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java: 198 ) |
28 | org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java: 76 ) |
01 | java.lang.NumberFormatException: For input string: "chrome/" |
02 | sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java: 1241 ) |
03 | java.lang.Double.parseDouble(Double.java: 540 ) |
04 | com.fredck.FCKeditor.FCKeditor.retrieveBrowserVersion(FCKeditor.java: 264 ) |
05 | com.fredck.FCKeditor.FCKeditor.isCompatible(FCKeditor.java: 251 ) |
06 | com.fredck.FCKeditor.FCKeditor.create(FCKeditor.java: 292 ) |
07 | com.fredck.FCKeditor.tags.FCKeditorTag.doAfterBody(FCKeditorTag.java: 689 ) |
08 | org.apache.jsp.WEB_002dINF.jsp.adetail_jsp._jspx_meth_FCK_005feditor_005f0(adetail_jsp.java: 676 ) |
09 | org.apache.jsp.WEB_002dINF.jsp.adetail_jsp._jspService(adetail_jsp.java: 168 ) |
10 | org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java: 70 ) |
11 | javax.servlet.http.HttpServlet.service(HttpServlet.java: 717 ) |
12 | org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java: 388 ) |
13 | org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java: 313 ) |
14 | org.apache.jasper.servlet.JspServlet.service(JspServlet.java: 260 ) |
15 | javax.servlet.http.HttpServlet.service(HttpServlet.java: 717 ) |
16 | org.apache.struts2.dispatcher.ServletDispatcherResult.doExecute(ServletDispatcherResult.java: 139 ) |
17 | org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java: 178 ) |
18 | com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java: 348 ) |
19 | com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java: 253 ) |
20 | com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java: 221 ) |
21 | com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java: 86 ) |
22 | com.opensymphony.xwork2.DefaultActionInvocation$ 2 .doProfiling(DefaultActionInvocation.java: 224 ) |
23 | com.opensymphony.xwork2.DefaultActionInvocation$ 2 .doProfiling(DefaultActionInvocation.java: 223 ) |
24 | com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java: 455 ) |
25 | com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java: 221 ) |
26 | com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java: 150 ) |
27 | org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java: 48 ) |
28 | com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java: 86 ) |
29 | com.opensymphony.xwork2.DefaultActionInvocation$ 2 .doProfiling(DefaultActionInvocation.java: 224 ) |
30 | com.opensymphony.xwork2.DefaultActionInvocation$ 2 .doProfiling(DefaultActionInvocation.java: 223 ) |
31 | com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java: 455 ) |
32 | com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java: 221 ) |
33 | com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java: 123 ) |
34 | com.opensymphony.xwork2.DefaultActionInvocation$ 2 .doProfiling(DefaultActionInvocation.java: 224 ) |
35 | com.opensymphony.xwork2.DefaultActionInvocation$ 2 .doProfiling(DefaultActionInvocation.java: 223 ) |
36 | com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java: 455 ) |
37 | com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java: 221 ) |
38 | com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java: 184 ) |
39 | com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java: 86 ) |
40 | com.opensymphony.xwork2.DefaultActionInvocation$ 2 .doProfiling(DefaultActionInvocation.java: 224 ) |
41 | com.opensymphony.xwork2.DefaultActionInvocation$ 2 .doProfiling(DefaultActionInvocation.java: 223 ) |
42 | com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java: 455 ) |
43 | com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java: 221 ) |
44 | com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java: 105 ) |
45 | com.opensymphony.xwork2.DefaultActionInvocation$ 2 .doProfiling(DefaultActionInvocation.java: 224 ) |
46 | com.opensymphony.xwork2.DefaultActionInvocation$ 2 .doProfiling(DefaultActionInvocation.java: 223 ) |
47 | com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java: 455 ) |
48 | com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java: 221 ) |
49 | org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java: 83 ) |
50 | com.opensymphony.xwork2.DefaultActionInvocation$ 2 .doProfiling(DefaultActionInvocation.java: 224 ) |
51 | com.opensymphony.xwork2.DefaultActionInvocation$ 2 .doProfiling(DefaultActionInvocation.java: 223 ) |
52 | com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java: 455 ) |
53 | com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java: 221 ) |
54 | org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java: 207 ) |
55 | com.opensymphony.xwork2.DefaultActionInvocation$ 2 .doProfiling(DefaultActionInvocation.java: 224 ) |
56 | com.opensymphony.xwork2.DefaultActionInvocation$ 2 .doProfiling(DefaultActionInvocation.java: 223 ) |
57 | com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java: 455 ) |
58 | com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java: 221 ) |
59 | com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java: 74 ) |
60 | com.opensymphony.xwork2.DefaultActionInvocation$ 2 .doProfiling(DefaultActionInvocation.java: 224 ) |
61 | com.opensymphony.xwork2.DefaultActionInvocation$ 2 .doProfiling(DefaultActionInvocation.java: 223 ) |
经过确认是fckeditor标签库在chrome浏览器下的bug,大家有时间可以解决下,在firefox和ie8下测试是正常的。
注释掉jsp页面中:
1 | < FCK:editor id = "reply" basePath = "fckeditor/" width = "550" height = "200" toolbarSet = "Basic" |
2 | imageBrowserURL = "/blueblog/fckeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=connectors/jsp/connector" |
3 | linkBrowserURL = "/blueblog/fckeditor/editor/filemanager/browser/default/browser.html?Connector=connectors/jsp/connector" |
4 | flashBrowserURL = "/blueblog/fckeditor/editor/filemanager/browser/default/browser.html?Type=Flash&Connector=connectors/jsp/connector" |
5 | imageUploadURL = "/blueblog/fckeditor/editor/filemanager/upload/simpleuploader?Type=Image" |
6 | linkUploadURL = "/blueblog/fckeditor/editor/filemanager/upload/simpleuploader?Type=File" |
7 | flashUploadURL = "/blueblog/fckeditor/editor/filemanager/upload/simpleuploader?Type=Flash" > </ FCK:editor > |
即可正常在chrome下浏览。
由最代码官方编辑于2015-4-7 14:43:59