0

Spring MVC を使用しており、一部のオブジェクトのフィールドを個別に変更する機能を提供する必要があります。たとえば、コントローラーにはすべてのフィールドにメソッドがあります (新しい値はサービス メソッドに割り当てられます) が、この状況で使用する適切な設計パターンがあるかどうか疑問に思っています。コントローラーには、すべてのフィールドに対して1つのメソッドのみを含めることを意味します。フィールドと名前の新しい値を送信して、コントローラーでどのフィールドを変更する必要があるかを確認することを考えましたが、この状況では多くの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);
    }
    .
    .
    .
}
}

これに似た sth について考えます。オブジェクト全体を一度に設定できることがわかっています。ただし、要件はフィールドを個別に変更することです

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 に答える