我正在为基于Web的报表系统开发Java应用程序。该应用程序当前将struts2用于某些报告,将基本servlet用于其他报告。代码无处不在,我想对代码保持理智。

由内而外的工作流程如下:


用户单击导航中的链接以获取报告
出现报告的搜索页面(与登录用户有关的5到6个字段)
用户选择参数
表单被提交给Servlet / Struts2Controller

Servlet / Struts2Controller根据一些逻辑收集参数,调用DAO,获取数据,并转发到下一页

根据参数显示最终报告


综上所述,所有报告的第2点基本相同。因此,我制作了GenericSearchClass,其中包含显示某些报告的初始搜索页面所需的所有方法。

我的问题是:


从提交表单的那一刻到显示最后一页时,我可以使用哪种模式?
我是否应该使用模板方法,以及具有自己的模板方法实现的抽象类和具体类。
如果是这样,我的模板方法应该是什么。对于这些问题,是否有更好的模式?

最佳答案

您可以看看在struts中使用Model View Controller模式
[我在Google搜索http://www.vaannila.com/中找到的教程]

如果您有长期运行的报告,建议您在前端使用一些AJAX异步运行报告,以防止用户多次请求相同的长期运行报告。耗时超过半分钟的报告将属于此类别。

希望这可以帮助。

10-07 19:06
查看更多