如果你用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框架的设计模式