收集了网上各种关于webfigure.tld的资料,终于把其搞定。总结如下:
1. 在matlab部分,必须把figure的句柄转化为webfigure类型,并作为输出参数;
2. 将tld文件拷入WEB-INF目录下,并确保不报错;
3. Jsp文件加入taglib引入标签;
4. Import webfigure;
5. 调用jar,有现成代码;
6. 最后应用webfigure标签。
第二步确认不报错,是因为我导tld到目录后,它显示×,起初以为是tld本身的问题,但想想可能性不大呀。它报的错是:taglib must match….。尝试了好久才发现原因竟然是:uri和info顺序搞相反了,导致IDE认为taglib属性不全。应该严格按照所需属性和顺序。
终于不报错可以运行后,经调试发现画出来的图中,只要是plot就画不出来,stem就能画出来,但stem画出来第一个点总是一条直线连到第二个点去(很奇怪的bug)。
真tm费劲,明明都能运行了,出这毛病(又开始怀疑tld了)。又是一段漫长的找原因,到最后发现,只要我把jsp中的dispose()注释掉,就能画出plot…虽然不知道为什么,反正m文件中已经写了close(),应该不会对内存造成很大影响。
关于stem的问题,呵呵,我干脆用plot+line函数自己写了个stem函数就能画出正确的图了…
这样一来,总算把matlab+j2ee画图整套流程走完了。其实如果是j2se会简单很多。
本文详细记录了解决webfigure在MATLAB和JSP中使用遇到的问题,包括figure句柄转换、TLD文件配置、JSP标签引入、import声明、jar调用以及一个诡异的绘图bug。在解决过程中,发现了URI和info顺序错误导致的报错,以及plot函数无法正常工作,而stem函数出现连接异常。最终通过注释掉dispose()方法解决了plot问题,并自定义函数修复了stem的绘制问题。
1122

被折叠的 条评论
为什么被折叠?



