상황 : 각 특정 국가에 대해 별도의 jsp 파일을 사용하는 응용 프로그램이 있습니다 (보기 확인자로 구현했습니다). 그러나이 방법으로 특정 페이지에 대한 변경 사항이없는 경우에도 각 국가에 JSP 변경 사항을 반복해야합니다.
예 : "en"사용자의 경우 다른 레이아웃 및 다른 로직을 가진 "de"테마의 사용자보다 다른 인보이스 페이지가 있습니다. 동일한 컨트롤러로 이동하고 사용자에 따라 다른 동작을합니다.
대부분의 경우 논리 및 JSP 페이지는 동일합니다 (예 : 계정 목록).
질문 : 어떻게이 논리를 유지하고 해당 특정 동작에 대한 대체 페이지를 만들 수 있습니까? /de/invoice.jsp가 있다면 이것을 사용하십시오. /invoice.jsp(Derval의 테마와 비슷합니다)를 사용하십시오.
나는 어플리케이션 서버로 tomcat을 사용합니다.
제안 사항이 있으십니까? spring mvc : 국가 별보기를 표시하거나 없으면 기본값입니다.
0
A
답변
0
은 기본적으로 그냥 동적으로 <jsp:include>
의 페이지를 선택하려면 .
"invoicePage"라는 변수에 페이지 이름을 포함한다고 가정 해 보겠습니다.
<jsp:include page="${invoicePage}"/>
그래서, 유일한 트릭은 오른쪽 invoicePage 따기입니다 다음과 같이 그런 다음 뷰 리졸버에서 참조있어 페이지 템플릿은 그 변수를 포함 할 수 있습니다.
봄 테마는 테마 별 속성 파일에 테마 별 include 파일의 이름을 넣으면 Spring에서 기본 설정으로 되돌아갑니다.
또는 특정 콘텐츠가있는 국가를 나열하거나 국가 별 지표를 설정하는 구성에 따라 직접 구현할 수도 있습니다. 적절한 솔루션은 나머지 앱 구성 방법에 따라 다릅니다.
오해의 소지가 있습니다. 사실 스프링 프레임 워크의 테마 아키텍처를 사용하지 않습니다. 나는 기록 된 사용자에 따라 jsp 페이지를 해결하는 특정보기 결정자를 구현했습니다. 따라서이 솔루션은 내 필요에 맞지 않습니다. 그러나 나에게 아이디어를 줬다. – esunar
게시물 제목을 'spring mvc : 국가 별보기 표시'또는 '존재하지 않는 경우 기본값'으로 변경하는 것이 좋습니다. 예, 제가 설명한 일반적인 전략은 여전히 유효합니다. – jtoberon