displaytag 中文问题 探索日志 注释

重新上路:

displayTagSupport库中:
itext-1.3.jar
commons-lang-2.6.jar
standard.jar
commons-beanutils-1.8.3.jar
commons-collections-3.2.1.jar
commons-logging-1.1.1.jar
jstl.jar
displaytag-export-poi-1.2.jar
displaytag-portlet-1.2.jar
poi-3.2-FINAL-20081019.jar
iText-5.0.6.jar
iTextAsian.jar

New1:
本次测试成功,未显示rtf标签,另外页面比较简陋,原因已查清,忘了复制css、image、img文件夹进项目。
点击pdf时,输出为空。
但未设置属性文件。
计划在New2项目中进行对属性文件的尝试修改。

New2:
先尝试只设置:
export.types=csv excel xml pdf rtf
export.excel=true
export.csv=true
export.xml=true
export.pdf=true
export.rtf=true
export.excel.filename=page.xls
export.csv.filename=page.csv
export.pdf.filename=page.pdf
export.rtf.filename=page.rtf

paging.banner.placement=bottom

结果发生nullpointer。

先补上一句:
export.excel.class=org.displaytag.export.excel.ExcelHssfView
异常还是nullpointer,但是语句好像有变化。
再补上:export.rtf.class=org.displaytag.export.DefaultRtfExportView
结果可以显示页面了。
试着重新删去export.excel.class=org.displaytag.export.excel.ExcelHssfView
可以显示页面!!!
尝试点击导出:
打开csv、excel、xml均为正常,注:我这里的数据只是一些数字,不含中文。
点击pdf,打开正常!!!!!!!
点击rtf,也正常!!!!!!!!
肉牛满面,留意一下此时的属性文件设置:
export.types=csv excel xml pdf rtf
export.excel=true
export.csv=true
export.xml=true
export.pdf=true
export.rtf=true
export.excel.filename=page.xls
export.csv.filename=page.csv
export.pdf.filename=page.pdf
export.rtf.filename=page.rtf

export.rtf.class=org.displaytag.export.DefaultRtfExportView
paging.banner.placement=bottom


修改为读取数据库的中文数据,试试看。
发现csv、excel:乱码。xml:正常。pdf:有表格无数据。rtf:正常(肉牛满面)。

好吧,接下来进行项目New3。


New3:
友情提示:在netbeans中右键点项目,选复制,修改一下项目名,一个new3项目就可以很快出来了。

决定先尝试补上:export.pdf.class=standardTestList.PdfViewSupportAsian
居然可以成功打开pdf,而且没抛异常,不经让我怀疑,之前那个项目是不是坏掉了,所以怎么修改都搞不好?好了,不多想了,因为现在pdf还是有表格无数据,很纳闷。
仔细观察了一下,只要是中文的部分就没有显示,看来应该是识别不出的缘故,或者转换失败的缘故。

仔细一看,不是我的包名,马上修正,哦,不好意思,刚才我访问action时路径没改,结果访问了new2,应该改为new3才对,发现在未改正pdf类路径前,未能显示pdf标签。
改为export.pdf.class=testList.PdfViewSupportAsian
发现全为空白,并提示更新服务器没有响应,它此时可能出于脱机状态。

想起那篇文章说的,使用itext2.1.5,决定试一下。我将库中的itext1.3换成了itext2.1.5。
问题依旧。
试着删去库中的iText5.0.6。还是可以显示。但是点击rtf时出错了。什么原因呢?
先换回itext1.3试试。点击rtf还是出错。
补回iText5.0.6试试。
还是有错。。。。。。。。。

重回new2试试,还好发现rtf能用。比较了一下两个项目,难道只是因为属性文件中多了一句export.pdf.class=testList.PdfViewSupportAsian????
删去,再试试。注意一点,整个过程中库是统一的(iText5.0.6和itext1.3)。
发现貌似只是因为多了一句而使rtf失灵。

不过我想试试去掉iText5.0.6。可以正常使用。看来这个包可有可无。
我想再试试换成去掉itext1.3。我擦,去掉也是正常的,看来我只保留一个iText5.0.6就ok了。但是,仔细观察了一下,PdfViewSupportAsian(我按照网上的说法自定义的类)
中有很多类找不到,所以,我想应该参照网上的说法,导入itext2.1.5。

在没给属性文件补上export.pdf.class=testList.PdfViewSupportAsian之前以前还正常。
那么补上会怎样呢?

发现rtf打开正常,但是pdf依旧无响应。看来,理应没有影响到rtf。。。

那么pdf的问题该如何解决呢????????
先搁置吧。。。

我们看看excel。。。
补上一句:export.excel.class=org.displaytag.export.excel.ExcelHssfView
意料之中,可以正确显示了。
看来,之前的项目老是报异常,是netbeans本身的原因。

最后或许是new4了,我需要自己的方案。

 

new4:
我在配置文件中将export.pdf.class设为=org.displaytag.export.DefaultPdfExportView,发现连rtf也不正常了。
调位后发现一样,很诡异啊。。。试着改为export.pdf.class=org.displaytag.export.PdfView。问题依旧。
试着去掉export.pdf.class=org.displaytag.export.PdfView。。。还是一样。。。netbeans又崩了????????


关掉netbeans,重开后,发现又恢复了正常。

但是再次对属性文件进行修改尝试后,又出问题了,而且试了好几次netbeans还是犯毛病。看来得找机会重装netbeans了。

 

后记:
今天我费了九牛二虎之力,在myeclipse中重新部署了项目,而且连tomcat也是新装的,发现了同样的问题,看来不是netbeans本身的问题,而是tomcat自身的bug。
好囧啊。。。要换服务器吗???


好吧,重新回到netbeans,记得当初安装netbeans时顺便安装了glassfish,于是我启用glassfish,将项目   属性  中  运行  的  服务器  设置为glassfish,进行运行,好家伙,
之前的那些莫名异常消失了,但是我之前描述的一些csv中文乱码,以及pdf中文显示为空白依旧无法解决。

看来实际运用中只好让csv、pdf两项不显示了。

另外最大收获是发现了是tomcat的bug,不是netbeans的问题,以后可以继续开心的使用netbeans,但是由于是tomcat中的问题,所以在myeclipse中也会出现,所以大家要小心了。

另外以后多用glassfish,但愿它的bug少一点。大家用的时候别忘了设置的端口号默认是8080啊。

提醒一下,itex或者iText保留一个就行了。
另外网上的关于导出数据是中文乱码以及pdf中文显示为空白的问题的解决资料、方案很多,但是试来试去还是不行。
谁要是找到了完美解决方法,麻烦留言告诉我。

我写这篇日志,是想跟大家多交流,希望能借助大家的力量来找到最佳的方案,有哪位知道了方法请一定不要吝啬啊。

我最近的几篇文章都是围绕这个问题展开的,大家想看全一点的内容只好把几篇文章(《displaytag无法导出pdf、rtf?????? 已解决》《来源普索网  displaytag的export功能中文出现乱码...》)都看了。另外,因为是边探索边记录的,所以内容很长很罗嗦,大家见谅了。

完。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值