我正在構建一個包含約10個屏幕的webflow應用程序。我的流定義文件定義了所有視圖狀態之間的流,其中每個視圖狀態由.jsp視圖文件表示。Webflow - 根據模型數據顯示不同的視圖
我現在想介紹白色標記應用程序的概念 - 根據模型屬性 - {{brand}),能夠呈現相同的流,但具有不同的「外觀」或視圖文件。
我不認爲我可以單獨使用CSS做到這一點。品牌之間的html標記將會非常不同,並且一些字段將會以不同的文本顯示(例如,品牌X可能會說'你的名字是什麼',品牌Y可能會說'請輸入你的名字')。
我可以在每個jsp文件中加入一個邏輯負載,以在適當的地方呈現不同的標記和文本,但這感覺很混亂,而且我認爲我最終會得到一個巨大的if/else,每個品牌的標記在相關的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文件,其中'common'.jsp文件的唯一工作是決定要顯示哪個品牌的.jsp文件。
另一種方法是複製我所有的視圖狀態,然後在我的流動定義文件中加入一些決策狀態。但是這看起來非常混亂,並且會造成大量的流動def文件。
所以我想知道是否有另一種/更好/更聰明的方式來做到這一點。也許能夠在流程定義文件中使用EL。類似這樣的:
<view-state id="AboutYou" view="brand${brand}/AboutYou" />
這項工作?或者,這是另一種方法來解決這個問題?
乾杯,
彌敦道