2012-03-26 37 views
2

我有一個正在被多個用戶組使用的jsp。要求是每個用戶組在訪問頁面時都需要自定義的外觀和感覺(具有獨特的參數)。我們建議允許用戶將他們需要的html轉儲到數據庫表中,並且jsp將確定用戶組,並顯示相應的html。任何關於如何完成的指針?JSP - 如何從數據庫呈現html(或jsp)代碼

示例:如果用戶組1訪問網址abc.com/xyz?param=aaa,則jsp應顯示存儲在與UserGroup1對應的數據庫中的html。同樣,abc.com/xyz?param=bbb應該呈現爲UserGroup2存儲的html。

HTML第1組:

<html>hello, user 1 </html> 

HTML 2組:

<html>hello, user 2 </html> 

怎麼我的JSP得到servlet或任何其他類此的HTML代碼?

任何JSF 2.0建議也歡迎。

上面的示例代碼可能聽起來很簡單,但實際上整個佈局,圖像,邊框,表格的內容會有所不同

+0

只是改變CSS可能有幫助嗎? – 2012-03-27 14:07:56

+0

不,也許這個示例代碼太簡單了。整個佈局,圖像,邊框,表格,內容都會有所不同。 – user972391 2012-03-27 14:34:23

+0

是預定義的內容嗎?例如: :圖片只在服務器的10張圖片中? – 2012-03-27 17:45:58

回答

1

通過使用會話的用戶之間的區別,並通過其API

+0

你在說什麼API,你能給我幾個代碼片段嗎? – user972391 2012-03-27 13:07:04

1
管理它

IMO,我不會在數據庫中存儲HTML。這不是它所屬的地方。

你可以做(​​在JSF 2.0)什麼是創建一個「模板」頁面,其中包含您在每個頁面上重複使用基本的東西......頭,身,尾,CSS,JS等

在在這個'模板'頁面中,您可以使用<ui:insert name="body">標籤來定義每個頁面將定義的位置。

在您的頁面上,您使用<ui:composition template="whateverPage.xhtml"/>來定義您的模板。然後,你可以使用<ui:define name="body">

JSF 2 Templating with Facelets

+0

模板化的東西不是一個選項,因爲整個佈局對於不同的組可能是不同的。我知道html不屬於數據庫,但這是業務需求。其中一個jsp對所有這些都是通用的。 – user972391 2012-03-27 13:06:39

1

而不是保存不推薦作爲phanneman說整個HTML,
節省CSS或CSS代碼片段插入您可以根據任何PARAMS的代碼。例如保存在你的數據庫,每個用戶的圖像路徑,
顏色等在數據庫爲每個用戶。
這可能有助於通過爲每個userGroup檢索特定數據。

+0

用戶組是各種組織和HTML不會有任何共同點,不是圖像,不是佈局,不是CSS。 – user972391 2012-03-27 19:03:23

+0

哦,確定只有像userID這樣的抽象數據來自jsp? – 2012-03-27 19:06:22

+0

是的,我們希望各個組織都放入一個以前達成的標籤,我們可以用普通內容替換標籤。 – user972391 2012-03-27 19:59:51