0

Spring MVC を使用するようにレガシー アプリケーションをリファクタリングしています。すべてのコントローラー (レガシー) は Model 型のオブジェクトを返し、レガシー ディスパッチャーは model.getContent() の出力を書き込みます。メソッド getContent は内部処理を行い、json 文字列を返します。何百ものコントローラーがあり、それらを書き直したくありません。カスタム ビュー ハンドラーを記述して、Spring サーブレット構成に含めることは可能ですか?

サンプルコントローラー:

public UserList extends BasicAction {
  @Autowired
  UserService userService;
  @Autowired
  UserCommand userCommand;

  @Override
    public Model getModel(Request req, Response resp)
            throws ServletException, IOException {
        Model model = new Model();


        List<User> users;
        try {
            users = userService.getUsers((UserCriteria)userCommand.getResult());
            model.addCollection(users);
            model.setWrapper(new UserWrapper());


        } catch (ValidationException e) {

            e.printStackTrace();
        } catch (WebCommandException e) {

            e.printStackTrace();
        }



        return model;
    }
}

@Controller とアノテートする予定です。@RequestMapping を指定するか、xml 構成で基本クラス BasicAction (レガシー mvc) を削除します。私は最近、このプロジェクトに春を導入し、依存性注入と要求スコープ コマンド オブジェクト (要求ラッパー) を使用するようにリファクタリングしました。

4

2 に答える 2