【发布时间】:2010-12-27 20:26:19
【问题描述】:
我想开始一个关于处理“多表单,一个 Servlet”场景的线程并讨论利弊。可以在多个用例中部署此模型,主要示例如下:
AccountDetails.jsp : 包含多个表单 UpdateAccountDetalsServlet : 根据提交的表单,调用 DAO 方法来更新数据库。
现在显而易见的解决方案是将隐藏参数传递给 servlet 并确定提交了哪个表单,但这感觉不对。为什么?
我想得到一些反馈。
谢谢。
【问题讨论】:
我想开始一个关于处理“多表单,一个 Servlet”场景的线程并讨论利弊。可以在多个用例中部署此模型,主要示例如下:
AccountDetails.jsp : 包含多个表单 UpdateAccountDetalsServlet : 根据提交的表单,调用 DAO 方法来更新数据库。
现在显而易见的解决方案是将隐藏参数传递给 servlet 并确定提交了哪个表单,但这感觉不对。为什么?
我想得到一些反馈。
谢谢。
【问题讨论】:
是的,没关系。你甚至可以使用枚举:
OperationType opType = OperationType.valueOf(request.getParameter("opType"));
switch(opType) {
case SAVE..
case DELETE..
}
在新的 restful 模型之前的 Spring MVC 中,您可以拥有一个多动作控制器。在那里,您必须在 URL 中传递一个参数,例如 method=save,然后 spring 在您的对象上调用 save() 方法。这也是您可以实现的,但它包括反射。
【讨论】: