Servlet 載入模板

      在〈Servlet 載入模板〉中尚無留言

假設要撰寫很多的網頁,但每個網頁的前後都一樣,只有中間內容不一樣。此時在每個網頁都要寫 <html></html>,而上面的 logo、選單都要重覆寫一次,是很煩人的事。

Html 常會使用到第三方寫好的 javascript,請請在 Web Pages 下按右鍵/New Folder,Folder Name 輸入 static。

static 目錄內容

請下載 static.zip,下載後解壓縮到專案下的 web/static 目錄下。

header.jsp

在 Web Pages 下新增 template 目錄,然後新增 header.jsp 檔案,完整代碼如下。

底下有幾個地方要注意 : 
1. 網頁的 icon 無論是使用 .ico 或 .png,在近期的 Chrom 怪怪的,但使用 Edge 則完全正常。
2. Java 區塊使用 <%  …..   %> 包含住。

🔒 更多內容,請登入會員繼續閱讀。

立即登入

footer.jsp

在 Web Pages 下的 template 新增 footer.jsp,完整代碼如下。

    </div>
    <div id="base_copyright">
        Powered by Thomas(mahaljsp@gmail.com)
    </div>
    </body>
</html>
<script>
    var MenuBar1 = new Spry.Widget.MenuBar(
        "MenuBar1", {imgDown:"/static/SpryAssets/SpryMenuBarDownHover.gif",
        imgRight:"/static/SpryAssets/SpryMenuBarRightHover.gif"}
    );
</script>

index.jsp

在 Web Pages 下的 templage  裏增 index.jsp 檔案,然後使用 <%@ include file=”xxx.jsp” %> 或者是 <jsp:include page=”xxx.jsp”> 套用 header.jsp 及 footer.jsp,完整代碼如下。

<%@ page contentType="text/html;charset=UTF-8" %>
<%@ include file="/template/header.jsp" %>
<h1>${message}</h1>
<%@ include file="/template/footer.jsp" %>

<%@ include ….> 在編譯期就會完成,效能比較高,而 <jsp:include …> 則在執行時期才會完成,效能較差,但靈活性較佳。

index Servlet

在 Source Packages 下新增 Servlet 檔案,Class Name 輸入 index,完整代碼如下。

🔒 更多內容,請登入會員繼續閱讀。

立即登入

上面有一個重點,就是 urlPatterns 設定為「/index」,表示網址為 http://localhost:8085/index。而在 processRequest 方法中先設定要傳入的 message,然後使用如下方法套用 index.jsp 模板。

 request.getRequestDispatcher("/WEB-INF/views/index.jsp").forward(request, response);  

測試

Shift + F11 發佈到  build/web/,輸入如下網址即可看到網頁。

http://localhost:8085/index

todo

 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *