自己把报表开发好了后,运行地址
http://localhost:8075/webroot/decision/view/report?viewlet=reviewBoard.cpt
运行结果:
想要把刚开发的报表集成在web中使用,去官网,看到集成后在web中的使用是这样的:
于是,我根据这个写法,改造了我的报表的写法:
<iframe id="reportFrame" width="900" height="400" src="../../decision/view/report?viewlet=reviewBoard.cpt"></iframe>
但是报错了,访问不到。于是我想到了一个办法,既然可以通过iframe的src去访问,那我直接去访问也是可以的嘛!然后我就一个一个的去试试,最后发现
http://localhost:8080/chunyan_war/decision/view/report?viewlet=/reviewBoard.cpt
这样写就可以访问到我的报表了,于是,我把代码改为:
<iframe src="/decision/view/report?viewlet=/reviewBoard.cpt" width="100%" height="100%"></iframe>
我彷佛看到了希望,以为重启服务,然后就可以访问到了,但是结果就是单独访问显示的并不是我开发的报表(虽然没有报错了),
去页面看,还是报错
这显示出来的显然不是我想要的结果,于是我随便写了个报表名字进行访问,结果简直气死人:
乱写的一个没有的报表,竟然还是这样。
真的是心累,不知道改怎么办了,但是还是要坚持下去,好不容易集成的成功了,却使用不了自己做的报表,简直是天理难容,明天再折腾折腾试试看。。。。。
一天过去了。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
今天经过折腾,终于解决了问题。解决办法如下,
路径的写法是:/chunyan_war/decision/view/report?viewlet=reviewBoard.cpt(其中chunyan是我的项目名)
tomcat中配置写的是:
红框中的路径是:
http://localhost:8080/chunyan_war/
启动主程序的写法是:
具体写法如下:
@SpringBootApplication
public class ChunyanApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(ChunyanApplication.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder){
return builder.sources(ChunyanApplication.class);
}
}
困扰了好多天,最后发现,其实这个报错
说的就是路径错了,没有找到,所以,这个路径是因为我没有添加上项目名生成的war包这个路径,也就是chunyan_war导致的。