使用jsp从POST表单中提取100多个输入数据:任何更好的方法?

我正在编写的servlet需要访问所有100多个POST参数(由表单填写):参数因类型(文本,选项,选择等)而异。 通过以正确的顺序获取参数,servlet构造一些@Entity对象的实例,这些对象稍后将使用JPA保存在数据库中。

是否有更直观的方法将post参数值映射到@Entity对象,而不是通过HTTPServletRequest.getParametersMap()循环并将这些值保存到临时变量中以创建对象?

如果确保实体bean属性名称与请求参数名称完全匹配,那么可以使用Apache Commons BeanUtils的BeanUtils #populate BeanUtils#populate()

 BeanUtils.populate(entity, request.getParameterMap()); 

就这样。

为了更进一步,您可以采用MVC框架,根据视图的组成方式(甚至连同透明转换,validation和调用bean操作方法!),将请求参数透明地映射到bean属性( 模型 ),例如作为JSF或Spring MVC 。