2

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

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

4

1 回答 1

3

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

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

就这样。

为了更进一步,您可以采用 MVC 框架,该框架根据视图的组成方式将请求参数透明地映射到 bean 属性(模型) (甚至还有透明的转换、验证和调用 bean 操作方法!),例如作为JSFSpring MVC

于 2012-12-19T19:51:28.393 回答