스프링 MVC를 사용하기 위해 레거시 애플리케이션을 리팩토링하고 있습니다. 모든 컨트롤러 (레거시)는 Model 유형의 객체를 반환하고 기존 디스패처는 model.getContent()의 출력을 작성하고 getContent 메소드는 내부 처리를 수행하고 json 문자열을 반환합니다. 수백 개의 컨트롤러가 있고이를 다시 쓰고 싶지 않습니다. 커스텀 뷰 핸들러를 작성하여 Spring 서블릿 config에 포함시킬 수 있습니까?스프링 MVC 커스텀 뷰
샘플 컨트롤러 :
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)을 제거합니다. 최근에이 프로젝트에 스프링을 도입했고 의존성 삽입 및 요청 스코프 된 명령 객체 (요청 래퍼)를 사용하도록 리팩토링했습니다.
대단히 감사합니다! 아주 간단한 솔루션과 작품! – user979051