2011-02-10 61 views
0

添加圖片或文字到所有JSP頁面我有大量需要的靜態內容小位添加到它們顯示在固定位置的JSP頁面。內容可以顯示在當前頁面內容上。我的問題是,沒有對所有300頁進行修改,是否有方法通過Struts或CSS以某種方式插入內容?通過Struts或者CSS

例如,我要一個標誌出現在我目前擁有的所有網站,在底部徘徊。

注意,我想這樣做未做修改的所有300頁,也沒有,不幸的是,網頁不包括菜單頁眉/頁腳文件。我有一個雖然使用的CSS頁面。

回答

1

你可能想看看sitemesh。閱讀文檔的完整的安裝和配置細節,但基本上,例如,你可以創建一個「主」裝飾(認爲象皮,或模板裝飾的)這樣的:

<div id="header">Whatever you want here</div> 
<div class="docBody"><decorator:body /></div> 

接着加入該代碼段到web.xml

<filter> 
    <filter-name>sitemesh</filter-name> 
    <filter-class>com.opensymphony.sitemesh.webapp.SiteMeshFilter</filter-class> 
</filter> 

<filter-mapping> 
    <filter-name>sitemesh</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping> 

然後sitmesh會攔截該請求,並且環繞來自每個JSP結果「主」裝飾器。換句話說,每個jsp的內容將被渲染爲<decorator:body>

+0

哇,這聽起來像我想要做的。你確定這種方法可行嗎?我可能遇到什麼問題? – Organiccat 2011-02-10 18:59:39

1

未做修改,所有的300頁,你唯一的賭注是改變現有的CSS樣式表。

要添加圖像,使用background-image屬性。

#someId { 
    background-image: url('images/foo.png'); 
} 

要添加一些內容,結合使用:before:after pseudoselector與content財產。

#someId:after { 
    content: 'some content'; 
} 

注:IE6/7不工作,不知道你是否願意仍然支持該瀏覽器。

至於最後的手段,你可以抓住的JavaScript/jQuery操縱HTML DOM樹(插入新元素)。但是,這仍然需要在所有頁面上加載的現有<script>文件。