在这种情况下哪种设计模式?

时间:2013-08-04 08:19:07

标签: spring-mvc

我使用Spring MVC并且需要提供分别更改某些对象的字段的能力。例如在控制器中我有每个字段的方法(在服务方法中分配新值),但我想知道在这种情况下是否有好的设计模式。我的意思是在控制器中只有一个方法用于所有字段。我想要发送字段和名称的新值,然后检查哪个字段应该在控制器中更改,但在这种情况下,我得到很多if语句...在这种情况下是否有任何广泛使用的方法?

class Controller {

@RequestMapping(value = "/field", method = RequestMethod.POST)
public String changeFieldValue(@RequestParam("fieldname") String fieldName, @RequestParam("newValue") String newValue, ModelMap model){


    if(fieldname.equals("age")){
        Object.setAge(newValue);
    }
    .
    .
    .
}
}

我想与此类似,我知道我可以立刻填充整个对象。但要求是单独更改字段

1 个答案:

答案 0 :(得分:0)

Spring有一个BeanWrapper实现来简化这项任务。

http://static.springsource.org/spring/docs/3.2.x/javadoc-api/org/springframework/beans/BeanWrapperImpl.html

BeanWrapper wrapper = new BeanWrapperImpl(object);
wrapper.setPropertyValue(fieldName, newValue);