봄 MVC 뷰 레이어용 JSP 대체 방법
저는 새로운 앱을 처음부터 만들고 싶습니다만, 아마도 Spring MVC와 Spring Web Flow를 사용할 것입니다.Spring Roo가 작성한 프로젝트에서는 Spring MVC 및 옵션으로 Web Flow를 사용합니다.뷰 테크놀로지에 대한 좋은 대체 방법 또는 스프링, JSTL 태그리브 및 jQuery를 사용하는 JSP는 무엇입니까?
나는 최근에 티멜리프를 발견했다.
JSP를 완전히 대체하는 것으로 보이며 스프링 MVC와 통합되어 있습니다.템플릿 접근 방식은 HTML에 가깝고 UI 설계자가 더 좋아할 수 있습니다.두 솔루션을 나란히 비교한 작은 기록이 있습니다.
표준 Java EE API에서 JSP를 대체할 수 있는 유일한 것은 Facellet입니다.지금까지(2010년) JSF는 기본적으로 Facellet을 지원하는 유일한 MVC 프레임워크이다.
Spring MVC는 개봉 즉시 JSP만을 지원하지만 Facellet을 사용할 수 있는 설정 가능한 뷰 리졸바를 갖추고 있습니다.다른 후보로는 Velocity, Freemarker 및 Thymeleaf와 같은 타사 템플릿 프레임워크가 있습니다. Spring 문서에는 Velocity 및 Freemarker와의 통합 예가 포함되어 있습니다.
저는 최근 프레젠테이션용으로 플레인 HTML과 jQuery를 사용하기 시작했습니다.Spring MVC는 JSON 뷰만 만듭니다.
현재까지는 잘 되어가고 있으며, 자바스크립트 작업을 해야 하지만, 디자이너의 HTML을 JSP로 변환할 필요가 없기 때문에 디자이너와의 상호 작용이 훨씬 쉬워지고, 디자이너가 변경되었을 때 작업 시간이 단축됩니다.전체적인 현장 유지보수에 대한 배심원단의 의견은 아직 나오지 않았다.
봄 MVC에서는 원하는 만큼 뷰 기술을 사용할 수 있습니다.FreeMarker 와 JSP 뷰 리졸바가 있습니다.FreeMarker(또는 JSP)에서 너무 복잡하다고 생각되는 뷰가 있으면 JSP 뷰를 만듭니다.예를 들어, JSTL이 있는 스프링은 훌륭한 작업 처리 양식을 만듭니다.그러기 위해서는 JSP 뷰를 사용하고 있습니다만, 그 이외에는 FreeMarker 뷰를 사용하고 있습니다.
기본적으로 다음과 같은 여러 뷰 리졸바 설정 방법에 대해서는 Spring MVC 문서를 참조하십시오.
<bean name="freeMarkerViewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
<property name="cache" value="true"/>
<property name="prefix" value=""/>
<property name="suffix" value=".ftl"/>
<property name="order" value="1"/> <!--NOTICE THE ORDER-->
</bean>
<bean id="jspViewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<property name="prefix" value="/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp"/>
<property name="order" value="2"/> <!--NOTICE THE ORDER-->
</bean>
스프링 3 문서에서는 FreeMarker도 제안합니다.Freemarker는 (제가 알기로는) 빠르고 바인딩과 같은 스프링 기능이 통합되어 있습니다.
봄 MVC는 다양한 뷰 기술과의 통합을 제공합니다.FreeMarker 또는 Velocity 사용을 권장합니다.
이것은 오래된 질문이지만, 저는 스칼라라는 새로운 대안을 제안하고 싶다고 생각했습니다.
scalate는 템플릿 옵션을 만드는 데 있어 강력한 역할을 합니다.유일한 가능성은 Scalate가 많은 의존관계를 필요로 한다는 것입니다(Scala를 필요로 하지만 Scala로 쓸 필요는 없습니다).
현재 가장 좋아하는 것은 핸들바.자바로 스프링 통합이 되어 있습니다.
(이전 답변은 여기서 오래되었습니다.)프리마커는 적어도 Velocity만큼 좋다.그러나 Tymeleaf는 레이아웃과 함께 sitemesh나 타일과 같은 템플릿 프레임워크를 불필요하게 만들 수 있기 때문에 더욱 매력적으로 보입니다.JSF에게 Thinkworks의 비판은 타당해 보인다.
JSF(JavaServer Faces)를 사용하는 데 문제가 발생하는 팀이 계속 발생하고 있으며, 이 기술을 사용하지 않는 것이 좋습니다.JSF는 Java EE 표준이기 때문에 프로그래밍 모델이 자신에게 적합한지 실제로 평가하지 않고 선택하는 것 같습니다.우리는 JSF의 프로그래밍 모델이 기본 웹 모델을 완전히 수용하기 보다는 자체 추상화 사용을 장려하기 때문에 결함이 있다고 생각합니다.ASP 같은 JSF.NET 웹 양식, 최상위 HTML 마크업 및 상태 비저장 HTTP 프로토콜에 상태 저장 구성 요소 트리를 생성하려고 시도합니다.상태 비저장 뷰의 도입이나 GET의 촉진과 같은 JSF 2.0과 2.2의 개선은 올바른 방향으로의 단계이며, 어쩌면 원래 모델에 결함이 있었다는 것을 인정하는 단계일 수도 있지만, 우리는 이것이 너무 늦었다고 느낀다.JSF의 복잡성에 대처하기보다는 간단한 프레임워크를 사용하여 HTTP, HTML 및 CSS를 포함한 웹 테크놀로지와 긴밀히 협력할 것을 권장합니다.
나는 스트라이프와 스프링을 함께 사용한다.대부분의 경우 줄무늬는 방해가 되지 않지만, 필요할 때 봄을 아름답게 만들어 줍니다.
저는 Velocity와 Spring MVC를 사용하고 있습니다.또한 구글 앱 엔진에서 애플리케이션을 호스팅하고 있으며 문제 없습니다.
Spring MVC에서 View 레이어에 Angular(클라이언트 측 프레임워크)를 사용할 수도 있습니다.
봄 MVC 위에 기재되어 있지 않은 대부분의 뷰 프레임워크는 이 뷰 테크놀로지로부터 데이터를 송신해, 서버로부터 응답을 얻을 수 없는 포스트백등의 문제가 발생하기 때문에, 상기의 대부분의 뷰 프레임워크를 참조하지 말아 주세요.validation, 편집 데이터 전송과 같은 예에서는 서버로부터의 데이터로 재충전할 수 없습니다.
이는 일부 보기 기술에서는 Java bean이 Spring 컨테이너 라이프사이클을 사용하지 않기 때문입니다.순수 뷰 예제 상태 비저장 요청에만 사용할 수 있습니다.예를 들어 JSF에서는 jsf 라이프 사이클을 사용하는 경우에만 jsf 포스트백을 사용할 수 있으며 스프링 MVC와 함께 스프링 프레임워크 JSF 뷰 리졸버를 사용하는 경우 포스트백을 수행할 수 없으므로 스프링 MVC 컨트롤러 대신 jsf 서블릿 컨트롤러를 교체해야 합니다.
프로젝트 요건이 명확하지 않고 포스트백 요건이 없는 경우 위의 선택지 중 몇 가지를 사용할 수 있습니다.
spring mvc 위에 기술되어 있는 뷰 테크놀로지의 예로는 zk 프레임워크 기반의 zk mvc를 들 수 있습니다.zk mvc에서는 이벤트를 처리하기 위해 spring mvc 컨트롤러를 ZK Generic Forward Composer에서 확장할 수 있습니다.스프링 프레임워크를 사용하여 이러한 컨트롤러의 라이프 사이클을 처리할 때는 항상 스프링을 사용할 수 있습니다.
당신은 유사한 다른 제품들을 찾기 위해 구글을 검색할 수 있습니다.
이 검토는 프레임워크 라이프 사이클의 높은 수준 설계에 기초한다.
행운을 빈다!!!
타일스가 도와줄 수 있을 것 같아.
템플릿을 정의하고 내부에서 JSTL을 사용할 수 있습니다.
스프링 웹플로우 위에서 페이스렛을 실행할 수 있습니다.
phpj는요?
뷰 템플릿으로 사용하거나 웹 서버 시스템을 처음부터 만들 수 있습니다.
phpj를 만든 이유는 항상 어플리케이션을 업데이트하고 Tomcat으로 로드하는 것을 싫어하기 때문입니다.그래서 Apache와 같은 설정을 사용하여 웹 어플리케이션의 정적 위치를 사용할 수 있습니다.
Apache Velocity는 Java Server Pages를 대체할 수 있습니다.
언급URL : https://stackoverflow.com/questions/2746598/alternatives-to-jsp-for-spring-mvc-view-layer
'programing' 카테고리의 다른 글
| 개체를 JSON으로 직렬화하는 동안 순환 참조 예외가 감지되었습니다. (0) | 2023.03.21 |
|---|---|
| 리액트 라우터는 상대 링크를 지원합니까? (0) | 2023.03.21 |
| 환경변수를 사용한 스프링 부트 구성 (0) | 2023.03.21 |
| 카테고리에 상위 카테고리가 있는지 확인하는 방법 (0) | 2023.03.21 |
| Angular.js 지시 동적 템플릿URL (0) | 2023.03.21 |