Java 保存表单数据的设计模式

Java Design Pattern on saving form data

我有一个 jsp 页面有很多 sections/categories 来填充硬件配置细节,每个 section/category 都有很多细节需要通过 select 值来填充在列表框中或在文本框中输入数据。用户可以填写某些部分的某些字段,以后可以选择填写其他部分。当用户下次登录填写数据时,必须向他显示之前为各自sections/categories填写的数据。当前的设计是,当用户输入任何数据并转到下一个字段时,将进行 ajax 调用以将输入的数据保存在数据库中。因此,如果一个部分中有 10 个字段并且表单中有 10 个部分,则会进行 100 JDBC 次调用,如果用户想要编辑已输入的字段,则会进行额外的 JDBC 次调用。此外,一个部分中的 10 个字段相互依赖,例如,如果第一个字段是“操作系统名称”,如果我 select 为“Windows”,那么下一个字段“OS Version”应该只显示值“2000,2007 2008 etc”,下一个字段“OS Architecture”应该只显示 Windows 及其版本的相关值。这是每次用户在字段

中输入值时都会进行 JDBC 调用的主要原因

需要您对此设计的建议,以尽量减少 JDBC 次调用,并使当前设计更加高效。谢谢

你可以看看 J2EE ContextObject pattern. It'll allow you to encapsulate the state of user's configuration, and to share it throughout your application. Also the ValueListHandler 将通过缓存结果帮助你处理那些昂贵的对象,并允许客户端遍历和 select 结果中的项目。