약 10 개의 화면으로 구성된 웹 플로우 앱을 구축 중입니다. 내 흐름 정의 파일은 모든 뷰 상태 사이의 흐름을 정의하며, 각 뷰 상태는 .jsp 뷰 파일로 표현됩니다.웹 플로우 - 모델 데이터에 따라 다른보기 표시
이제 모델 속성 ($ {brand})에 따라 동일한 흐름을 표시 할 수 있지만 다른 '스킨'또는보기 파일을 사용하여 응용 프로그램을 흰색으로 라벨링하는 개념을 소개하고자합니다.
나는 이것을 CSS 단독으로 할 수 있다고 생각하지 않는다. 브랜드 간의 HTML 마크 업은 매우 다르고 일부 필드는 다른 텍스트 등으로 표시됩니다 (예 : 브랜드 X는 '이름이 무엇입니까'라고, 브랜드 Y는 '귀하의 이름을 입력하십시오'라고 말할 수 있음).
각 JSP 파일에 논리로드를 넣어 마크 업과 텍스트를 적절히 표현할 수 있지만 지저분한 느낌이 들며 각 브랜드에 대한 마크 업과 함께 거대한 한/끝으로 끝낼 것이라고 생각합니다. 관련 if/else 본문에 있습니다.
표시 jsp를 사용하여 표시 할 JSP를 '결정'할 수 있습니다. 이런 식으로 뭔가 :
<view-state id="AboutYou" view="common/AboutYou" />
를 다음 일반/AboutYou.jsp에서이 작업을 수행합니다
<c:chooose>
<c:when test="${brand == 'X'}>
<jsp:include page="brandX/AboutYou.jsp" />
</c:when>
<c:when test="${brand == 'Y'}>
<jsp:include page="brandY/AboutYou.jsp" />
</c:when>
</c:choose>
나는이 작업을 볼 수 있습니다,하지만 난 그것이 얼마나 효율적으로 잘 모르겠어요 - 내가 10 것 '.jsp'파일의 유일한 작업은 어떤 브랜드의 .jsp를 표시할지 결정하는 것입니다.
또 다른 방법은 내 모든 뷰 상태를 복제 한 다음 의사 결정 상태로드를 내 플로우 정의 파일에 넣는 것입니다. 그러나 이것은 정말 지저분 해 보였고 대량으로 증가 된 flow def 파일을 만들 것입니다.
그래서이 작업을 수행하는 또 다른/더 나은 방법/현명한 방법이 있는지 궁금합니다. 아마 흐름 정의 파일에서 EL을 사용할 수 있습니다. 다음과 같은 내용 :
<view-state id="AboutYou" view="brand${brand}/AboutYou" />
이 방법이 가능합니까? 아니면 이것을 접근하는 또 다른 방법입니까?
건배,
나단