问题 :
- 视图区不可用或者已经过期。
org.eclipse.birt.report.exception.ViewerException: 视图区不可用或者已经过期。
场景 :
我的报表项目和工程项目是独立的,报表是iframe嵌入到项目中的 ,部署在tomcat7下的,winows2003服务器,放在同一tomcat下,IE,火狐,谷歌访问都没问题,部署在不同机器上的tomcat下,(报表部在win主机,项目 部在lnuix主机,)从项目中访问报表,IE 出现如上错误
,但火狐,谷歌访问都正常- 视图区不可用或者已经过期。
org.eclipse.birt.report.exception.ViewerException: 视图区不可用或者已经过期。
单独访问工程也没问题啊
就是嵌入其他项目的时候,不同服务器tomcat下出现错误
解决办法:
问题已解决,这是一个诡异的问题,问题在于IE安全级别。
我的是IE8 ,
报表不能显示的问题可以通过修改IE设置解决,将IE设置里的“隐私”设为“低”即可解决“视图已过期”的问题。
在论坛里浏览 人家在开发中遇到的同样问题,豁然开朗,发现终极解决之道;
如下:
问题已解决。
和birt版本没关系,甚至和birt都没有关系,是由于浏览器的安全限制,Iframe跨域访问时,被访问的页面无法使用浏览器cookie,从而没办法保持session造成的。
在被访问的页面加上P3P头就可以解决。
代码如下:
response.addHeader("P3P","CP=CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR");
上面的是一位兄弟的解决办法,我的是在被请求的页面中添加如下代码:
response.addHeader("P3P","CP=CAO PSA OUR");
- 视图区不可用或者已经过期。
org.eclipse.birt.report.exception.ViewerException: 视图区不可用或者已经过期。
场景 :
我的报表项目和工程项目是独立的,报表是iframe嵌入到项目中的 ,部署在tomcat7下的,winows2003服务器,放在同一tomcat下,IE,火狐,谷歌访问都没问题,部署在不同机器上的tomcat下,(报表部在win主机,项目 部在lnuix主机,)从项目中访问报表,IE 出现如上错误
,但火狐,谷歌访问都正常- 视图区不可用或者已经过期。
org.eclipse.birt.report.exception.ViewerException: 视图区不可用或者已经过期。
单独访问工程也没问题啊
就是嵌入其他项目的时候,不同服务器tomcat下出现错误
解决办法:
问题已解决,这是一个诡异的问题,问题在于IE安全级别。
我的是IE8 ,
报表不能显示的问题可以通过修改IE设置解决,将IE设置里的“隐私”设为“低”即可解决“视图已过期”的问题。
在论坛里浏览 人家在开发中遇到的同样问题,豁然开朗,发现终极解决之道;
如下:
问题已解决。
和birt版本没关系,甚至和birt都没有关系,是由于浏览器的安全限制,Iframe跨域访问时,被访问的页面无法使用浏览器cookie,从而没办法保持session造成的。
在被访问的页面加上P3P头就可以解决。
代码如下:
response.addHeader("P3P","CP=CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR");
上面的是一位兄弟的解决办法,我的是在被请求的页面中添加如下代码:
response.addHeader("P3P","CP=CAO PSA OUR");