나는 아래에 구현하는 최적의 방법을 찾기 위해 다른 사람의 뇌 (& 경험)를 빌리려고합니다.봄 : 런타임에 사용자 정의보기를 선택하는 가장 좋은 방법
현재 많은 클라이언트가 사용할 응용 프로그램에서 작업 중이며 각 클라이언트의 요구 사항에 따라 UI 사용자 지정이 필요합니다. 기본 자바 코드와 비즈니스 로직이 같을지라도, 런타임에 (어떤 속성을 통해) 어떤 클라이언트가 애플리케이션을 실행하고 있는지 파악하고 해당 뷰를 선택하고 웹 페이지를 표시하고 싶습니다.
현재 내가 생각할 수있는 것은 클라이언트 이름 속성을 읽고이를 사용하여보기를 해결하는 사용자 지정 ViewResolver (InternalResourceViewResolver 확장)를 만드는 것입니다 (예 : WEB-INF/jsp // account/myAccount.jsp) 또는 클라이언트 속성이없는 경우 다른보기 (예 : WEB-INF/jsp/default/account/myAccount.jsp)로 기본 설정하십시오.
여기서 볼 수있는 문제는 기본보기를 렌더링해야하는 특정 클라이언트에 대해 모든 JSP를 덮어 쓰지 않을 수 있다는 것입니다. 기본으로 되돌리기 전에 클라이언트 폴더에 JSP 파일의 존재를 확인하기 위해 I/O 호출이 필요합니다. I/O에 대응하기 위해 애플리케이션 시작시 덮어 쓴 JSP 맵을 작성할 수도 있지만 새로운 맞춤 JSP를 추가 할 때 애플리케이션을 다시 시작해야합니다.이 맵은 일부 맵을 새로 고치기 위해 다시 서비스 할 수 있습니다.
그럼 너희들은 어떻게 생각하니? 또한 리디렉션에 어떤 영향을 미칩니 까? Plz 우리의 설치 또는 요구 사항에 대한 추가 정보가 필요하면 알려주십시오.
감사합니다,
수밋
새 JSP를 프로덕션 서버에 동적으로 추가하지 않을 예정입니까? 내 세계에서 이러한 변경 사항을 테스트해야하며 소스 트리에 태그를 지정해야하며 전쟁을 다시 생성해야하며 앱을 다시 배포해야합니다. 정적 (또는 느슨하게 구성된) 맵은 정상입니다. –
고마워 JB ... 잘 JSP로 배포하는 간단한 핫픽스로 시나리오 중 하나만 응용 프로그램을 다시 시작해야합니다 (응용 프로그램이 단일 war 파일보다는 디렉터리 구조에 있음). 그러나 모든 변경 사항은 테스트 환경에서 확실히 테스트됩니다. – Sumit