假設要撰寫很多的網頁,但每個網頁的前後都一樣,只有中間內容不一樣。此時在每個網頁都要寫 <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
