我目前正在使用以下维护网络应用程序:
它基本上是一个CRUD应用程序,允许用户查看数据并对其进行操作。它几乎就像是DBMS的复制品,只在网络上。代码中到处都是SQL语句 - 几乎在应用程序的每个servlet中。
目前,我的经理要求我为数据实施某种过滤器。
假设我们有一张表SomeTable
:
Col1 Col2 Col3 Col4 Col5
---- ---- ---- ---- ----
data2 data3 data4 data5 data6
在应用程序中,如果您转到SomeTable
页面,您将看到SomeTable
表中完全相同的数据,但有一个例外,即它们显示在HTML表格中。现在,我的经理想要的是应用程序的用户能够从不同的页面过滤数据(让我们调用此过滤器页面),然后在应用过滤器后,返回SomeTable
页面并显示过滤数据。
在过滤器页面中,他们可以选择以下内容:
Col1 = data2
Col3 LIKE %some%
Col4 IN 1,2,3
这些选项都来自选择框。我们目前在其中一个页面中有这样的功能,但它很难看。 SQL语句围绕会话属性传递,并在最后相互连接。另外,如果不复制所有代码,我无法真正重复使用它们。
有人可能发明了一些东西来解决这个问题,我想知道是否有人可以就如何解决这个问题给我一些建议。是否有一个我可以使用的框架,或者只是手工完成它更容易,因为应用程序并不是那么大。
答案 0 :(得分:2)
听起来您的应用程序变得越来越复杂。我已经完成了servlet / jsp到DB的事情 - 它并不漂亮。你可以把一些准备好的语句写入代码来处理新的需求,但是在你的骨头中我认为你知道它的时间用于框架,即使它很简单。
我的建议是Play。它轻巧,快速,并且具有非常小的膨胀。它还附带了Hibernate,这是一个helluva ORM框架。
祝你好运!答案 1 :(得分:1)
寻求Grails。这是你正在寻找的答案。
答案 2 :(得分:1)
您可能需要查看Krank。
答案 3 :(得分:1)
你可以看到的另一件事是来自Matt Raible的AppFuse。查看Demo's and Video's。 Struts 2中有一个用于CRUD。
我很久以前就使用它,并且对它如何让您尝试不同的技术堆栈配置以了解它们如何协同工作给我留下了深刻的印象。非常值得一看。
答案 4 :(得分:1)
Generic Dao是您为所有DAO制作模板的一种方式。 许多专业知识已经解释了它的用法。所以我只是提供参考。
Single DAO & generic CRUD methods (JPA/Hibernate + Spring)
http://www.ibm.com/developerworks/java/library/j-genericdao/index.html
答案 5 :(得分:0)
我建议你看看Primefaces
它是非常丰富的用户界面,没有任何Java脚本头痛。