2011-05-23 78 views
1

任何人都可以告訴我如何使用Sitemesh。我創建了一個佈局頁面和頁眉和頁腳。頁眉和頁腳包含在單獨的頁面中,其格式爲:靜態<%@ include>。現在我想讓中間部分的「內容」保持不變,保持頁眉和頁腳不變。 struts.xml應該如何以及Layout的內容包含子頁面。頁面中的動作和其他鏈接將如何使整個站點具有相同的界面。使用sitemesh與struts2

+0

謝謝......我已經自己解決了......但是現在我想知道如果我們有兩個不同的列發生改變,我們該怎麼辦? – 2011-05-23 17:08:25

回答

1

下面是一個簡單的例子。 http://www.benmccann.com/blog/sitemesh-tutorial-with-examples/

在sitemesh的哲學中,遵循'裝飾者'模式,你的'未加工'(未修飾)視圖應該不會意識到它將被'裝飾'(在這裏,'裝飾'可能意味着'是在頭部添加了一些常見的樣式,並在身體中添加了一些常見的菜單...')。這種極端的解耦是Sitemesh的美麗。

更具體地說,你的Struts2的意見代碼(在你的情況下,輸出每個動作的結果,JSP)應該只是一個完整的HTML頁面(<html><head>...</head><body>...</body></html>,但沒有那些「共同」的元素。

SiteMesh的將捕獲原始HTML頁面並添加公共片段,這由'裝飾器'(可以有多個)指定,在你的情況下它可能是一個jsp頁面(如例子中所示),它本身可能有一些jsp <%@include >裏面

+0

謝謝...我自己解決了它.. 。 但現在我想知道如果我們有兩個不同的列改變,我們會做什麼。 – 2011-05-23 17:08:16

+0

「兩個不同的列」是什麼意思? – leonbloy 2011-05-23 17:10:31

+0

兩個不同的列表示在同一頁面中有兩個不同的內容區域... – 2011-05-23 17:19:33