0

我使用 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);
    }
    .
    .
    .
}
}

我想类似的事情,我知道我可以一次填充整个对象。但要求是单独更改字段

4

1 回答 1

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);
于 2013-08-07T04:43:28.103 回答