用struts action 分发(dispatch)dbforms page 要注意了

本文探讨了使用Struts Action分发DbForms页面时遇到的问题,特别是当进行排序操作时出现NullPointerException的情况。文章分析了问题产生的原因,并提出了可能的解决方案。

如果你用struts action 分发(dispatch)dbforms page 要注意了

比如你通过dbforms.do跳转到aDbformsPage.jsp,通常情况下

你希望做了某些操作后仍然正确的返回到这个页面(记住,你是通过struts跳转到这个页面),所以你在dbformTag中设置了followUP="dbforms.do?" + maySomeQueryString,你做一般意义上的CRUD操作是不会有任何问题的,页面跳转都能如你所期

你需要某些操作,比如排序;此时,页面抛出NullPointerException,why?
跟踪代码,发现排序时dbforms时生成NoopEvent,这个Event的followUp是sourcePath(也就是你当前的jsp的路径),而不是你所期望的"dbforms.do?" + maySomeQueryString;而其他event是dbformTag中设置的followUp
两种可能性
1.a bug,huh huh
2.dbform的设计模式就是不希望任何额外的Controller参与(除了内部的controller外)页面转向控制,也就是说,如果你用dbforms开发,All is jsp,nothing else.
这种情况下,如果你要fix the bug(姑且这样讲),你会比较费劲;你不能直接获得dbformTag中设置的followUp,需要改源码
不过,对我来说,改源码已经家常便饭了
可以参考前作:目前对dbforms的主要扩展 、dbforms框架的设计模式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值