문제

Tomcat에 많은 JSP 파일과 백엔드가 있습니다. 내부에 동일한 논리가 있지만 레이아웃이 다른 3 가지 버전의 JSP가 있습니다. 따라서 논리를 변경하면 수정할 3 개의 JSP 파일이 있습니다.

이러한 시나리오에 대한 적절한 수는 무엇입니까? XML 및 XSLT 스택을 생각했습니다. 백엔드는 XML에서 데이터 만 제공하며 각 레이아웃보다 마법을하는 XSLT가 있습니다.

JSP의 다양한 언어로 StackoverFlow를 제공해야한다고 상상해보십시오. 논리적이지만 레이아웃이 다릅니다.

나를 어떤 방향으로 지적 할 수 있습니까?

도움이 되었습니까?

해결책

MVC (Model View Controller)와 JSP가 뷰의 일부 여야하고 논리를 포함해서는 안된다는 아이디어에 대해 알아보십시오. 논리는 모델 클래스에 속합니다.

다른 팁

이것은 일반적으로 일부 템플릿 엔진을 사용하여 해결됩니다. 더 작은 페이지 조각을 생성 한 다음 특정 뷰가 이러한 부품으로 구성되어야한다고 템플릿 엔진을 선언합니다.

Struts Tiles는 Java World의 고전적인 예이지만 Java 및 기타 언어의 더 현대적인 Framworks에 비해 실제로 오래되고 Crufty가되고 있습니다. 태피스트리와 개찰구는 두 가지 더 현대적인 것입니다 (그래도 사용하지 않았습니다).

전체 웹 프레임 워크를 적용하는 3 페이지만으로는 아마도 과잉 일 것입니다. 그러나 귀하의 사이트가 성장하면 ...

어떤 종류의 가족이없는 평범한 오래된 JSP와 함께 :

1) 컨트롤러를 사용하여 처리를 수행하고 JSP 만 사용하여 데이터를 표시합니다.

2) JSP를 사용하여 헤더, 내비게이션, 메뉴, 바닥 글 및 기타 필요한 공통/공유 요소를 포함하여 해당 레이아웃을 포함하여 지시문을 포함합니다.

또는/및 :

web.xml에서 다음을 사용하십시오

    <jsp-property-group>
        <url-pattern>/customers/*</url-pattern>
        <include-prelude>/shared/layout/_layout_customers_top.jsp</include-prelude>
        <include-coda>/shared/layout/_layout_customers_bottom.jsp</include-coda>
    </jsp-property-group>

URL 패턴은 상단/하단에 부착 된 JSP 조각 (루비 온 레일의 부분)을 얻는 JSP를 결정합니다.

타일을 살펴보십시오.

이것은 매우 고전적인 문제 영역 이며이 문제를 다루려고 노력하는 많은 개념과 프레임 워크가 있습니다 (Struts 및 JSF, SessionBeans와 같은 MVC 프레임 워크, 이름 지정). 당신이 실제로 Java Enterprise "Evangelist"가 아니라고 생각하기 때문에 나는 당신에게 두 가지 간단한 조언을 줄 것입니다.

  1. 당신은 분명히 JSP에 많은 중복 코드를 가지고 있습니다. 이 코드를 "실제"Java 클래스로 추출하여 모든 JSP에 사용하십시오. 이렇게하면 한 곳에서 비즈니스 로직을 수정할 수 있으며 중복성은 문제가되지 않습니다.

  2. 계단식 스타일 시트 (CSS)를 살펴보십시오. 이것은 웹 페이지를 레이아웃하는 예술적인 방법입니다. HTML + CSS가 잘 설계된 경우 다른 레이아웃에 대해 다른 JSP가 필요하지 않을 수도 있습니다.

문안 인사

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