문제

저는 Vaadin Framework와 함께 Spring MVC를 사용할 가능성에 대해 생각하고 있습니다.함께 잘 놀 수 있도록 하는 문서화된 방법이 있습니까?또한 함께 사용하는 것이 좋은 생각입니까?성과와 관련하여;전용 서버에서 앱을 실행하겠습니다.

내 질문을 좀 더 명확하게 하기 위해 Vaadin을 사용하여 렌더링하고 모든 모델 데이터에 액세스할 수 있는 Spring MVC 컨트롤러에서 모델 및 뷰를 어떻게 반환할 수 있습니까?

도움이 되었습니까?

해결책

Vaadin에 대한 봄 지원은 아주 새롭지 만 최근 포럼에서 그것에 대해 많은 이야기가 있었으며 일부는이를 테스트했습니다. 작동하는 것 같습니다. Vaadin Wiki에 관한 기사가 있으며, 포럼의 일부 스레드는 Vaadin + Spring Integration에 대해 이야기합니다.

위키 : 봄 통합
포럼 : 밀 툴킷을 스프링 애플리케이션과 통합 할 수 있습니까?
포럼 : 봄 통합 문제
포럼 : 봄과 함께 일합니다
포럼 : 봄 통합

다른 팁

Vaadin을 Spring MVC와 통합하는 것이 신중한 선택인지 확실하지 않습니다. 그것의 폐기물입니다. MVC는 Vaadin이 데스크탑 앱과 같이 더 많은 상태를 기반으로하는 일반적인 페이지 기반 웹 앱을위한 것입니다. 나는 일반적으로 중간에서 만나고 봄에 비즈니스 계층과 데이터 액세스 계층을 갖고 Vaadin을 그대로 사용합니다.

보다 이 스레드 내 Vaadin 포럼에서 AutowiringApplicationServlet 샘플 전쟁 응용 프로그램을 포함한 솔루션.

dhrbo와 동의했습니다.

Spring MVC를 사용하는 것은 현명하지 않으며 Vaadin과 함께 웹 플로우와 함께 더 많이 사용합니다. Vaadin은 또 다른 웹 앱 프레임 워크입니다.

Vaadin 프로젝트에서 "Spring MVC"라는 아이디어를 원한다면 스프링 코어, 콩 및 컨텍스트와 통합하십시오. 이렇게하면 컨트롤러, UI (Vaadin) 및 모델 (Hibernate / Orms와 통합) 간의 명확한 분리를 얻을 수 있습니다.

다음은 스프링 서비스 계층을 Vaadin과 통합하는 것에 관한 기사입니다. 원래 질문은 스프링 MVC와 직접 관련이 없지만 Vaadin Spring 통합을 연구하는 다른 독자들에게는 여전히 포인터가 될 수 있습니다.

http://psponcoding.blogspot.com/2011/03/vaadin-spring-integration.html

org.springframework.web.servlet.mvc.Controller의 handlerRequest는 HttpServletRequest 그리고 HttpServletResponse 매개변수로.이에서는 URI 조각을 처리할 수 없습니다.따라서 컨트롤러는 URI 조각을 기반으로 요청을 제어하는 ​​데 적합하지 않습니다.

내 애플리케이션에서는 Spring 컨트롤러와 매우 유사한 개념을 구현했습니다.내 애플리케이션에는 여전히 "뷰"와 "모델"이라는 개념이 있습니다.각 보기는 별도의 클래스로 구현되며 페이지의 중앙 블록에 표시됩니다.URL 처리 로직을 해당 클래스에 집중시키고 싶어서 클래스를 만들었습니다. AbstractControllerEntry:

public static abstract class AbstractControllerEntry {
    public abstract boolean matches(String fragment);
    public abstract void open(MainWindow window, String fragment);
}

다음과 같은 여러 편의 하위 클래스가 있습니다. ConstantEntry, PrefixEntry 그리고 RegexEntry.

각 뷰 클래스에는 다음을 반환하는 정적 메서드가 있습니다. AbstractControllerEntry.모든 항목의 컬렉션은 내부의 정적 배열에 보관됩니다. MyController 클래스(Spring MVC 컨트롤러가 아님).조각 변경 시(참조 UriFragment유틸리티), 모든 항목을 반복하고 먼저 일치하는 항목에 대해 open을 호출합니다.모델 객체 찾기와 같은 다른 로직은 뷰 클래스 내부에 있습니다. AbstractControllerEntry 구현.

또한 뷰 클래스에 URI 조각을 생성하는 또 다른 정적 메서드가 있어 뷰에 대한 각 참조가 클래스에 대한 실제 참조가 되도록 하며 이는 끊어진 링크에 대한 솔루션입니다.그리고 각 뷰에는 현재 뷰에 대한 조각을 가져오는 인스턴스 메서드가 있으며, 이는 견고성을 높이기 위해 컨트롤러 항목과 일치하는지 확인됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top