[JSP ]include加入判斷式寫法(參考canon網站)

看板java作者 (喬狼)時間16年前 (2010/02/02 18:13), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
※ [本文轉錄自 Web_Design 看板] 作者: winddust (喬狼) 看板: Web_Design 標題: [問題] [JSP]include加入判斷式寫法(參考canon網站) 時間: Tue Feb 2 17:29:22 2010 我做過jsp相關專題是首頁一開始就是如圖二,假設點option的產品時, <a target="_self" href="container.jsp?leftJspName=pr/pr_sb"></a> ↑左邊sidebar會顯示產品清單,但右邊內容不會變,是首頁預設的, <a href="container.jsp?jspName=pr/pr_1&leftJspName=pr/pr_sb">產品1</a> ↑再點sidebar的產品1,右邊的內容才會置換成pr_1.jsp, 因為當初專題是團體作業,有的部份技術我不太熟, 最近才想參考canon官方網頁http://www.canon.com.tw/, 練習用jsp架網頁,大致參考了它的layout,配置如下: 預設首頁index.jsp是這樣: 點選option.jsp的內容後: ┌─┬───────────┬─┐ ┌─┬───────────┬─┐ │ │ 標頭header.jsp │ │ │ │ 標頭header.jsp │ │ │留├───────────┤留│ │留├───────────┤留│ │ │ 選單option.jsp │ │ │ │ 選單option.jsp │ │ │ ├───────────┤ │ │ ├─┬─────────┤ │ │ │ 內容container.jsp │ │ │ │側│ │ │ │ ├───────────┤ │ │ │ │option連到的內容 │ │ │ │ 新聞news.jsp │ │ │ │欄│ │ │ │白├───────────┤白│ │白├─┴─────────┤白│ │ │ 頁尾footer.jsp │ │ │ │ 頁尾footer.jsp │ │ └─┴───────────┴─┘ └─┴───────────┴─┘ <圖一> <圖二> 目前我的想法是, 然後點option.jsp後(譬如產品pr.jsp), 將container.jsp+news.jsp塞進main.jsp, 將側欄(pr_sb.jsp)與內容(pr_cont.jsp) 用include進去,變成: include進pr_main.jsp: ┌─┬───────────┬─┐ ┌─┬───────────┬─┐ │ │ 標頭header.jsp │ │ │ │ 標頭header.jsp │ │ │留├───────────┤留│ │留├───────────┤留│ │ │ 選單option.jsp │ │ │ │ 選單option.jsp │ │ │ ├───────────┤ │ │ ├───────────┤ │ │ │ │ │ │ │ │ │ │ │ main.jsp │ │ │ │ pr_main.jsp │ │ │ │ │ │ │ │ │ │ │白├───────────┤白│ │白├───────────┤白│ │ │ 頁尾footer.jsp │ │ │ │ 頁尾footer.jsp │ │ └─┴───────────┴─┘ └─┴───────────┴─┘ <圖三> <圖四> 而且針對main.jsp與main_1.jsp,使用不同的css, 希望是在首頁時看能不能寫個判斷式,判斷現在是在首頁還是已點選option進入分頁: (以上略) <jsp:include page="option.jsp"> <% if(是首頁){ %> <jsp:include page="main.jsp"> <% }else if(判斷點了option裡的哪個項目){ %> <jsp:include page="該項目的xxx_main.jsp"> } %> <jsp:include page="footer.jsp"> (以下略) 但是覺得一個jsp又include好幾層jsp,還要用判斷式很麻煩, 我的專題是從頭到尾都固定版型,canon跟我專題做的不太一樣, 它是首頁option點選後,下方news會消失,container往右縮,多出sidebar, 請問我該怎麼在版型上做調整,或是在option的超連結上調整? 譬如說點option的產品時,container改成pr_1? <a target="_self" href="pr_1.jsp?leftJspName=pr/pr_sb"></a> 側欄也是container改成pr_1? <a href="pr_1.jsp?jspName=pr/pr_1&leftJspName=pr/pr_sb">產品1</a> 我不曉得我用判斷式做不同include的想法是否正確且可行,或有更好的做法? 目前身邊用書有歐萊禮的深入淺出Servlet&JSP與碁峰的JSP2.0技術手冊, 要找方向的話,除了jsp:include標籤以外,還有沒有我沒注意到的? ========================================================================= 剛發完文想到,一開始版型我就先拉成: ┌─┬───────────┬─┐ │ │ 標頭header.jsp │ │ │留├───────────┤留│ │ │ 選單option.jsp │ │ │ ├─┬─────────┤ │ │ │側│ container.jsp │ │ │ │ ├ ─ ─ ─ ─ ─ ─┤ │ │ │欄│ news.jsp │ │ │白├─┴─────────┤白│ │ │ 頁尾footer.jsp │ │ └─┴───────────┴─┘ news.jsp是include進container.jsp裡的,sidebar.jsp預設是空的, 點選option時,才將分頁include進sidebar.jsp與container.jsp的位置, 不曉得是否可行? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.135.142.32 ※ 編輯: winddust 來自: 220.135.142.32 (02/02 17:57) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.135.142.32
文章代碼(AID): #1BP_gsdH (java)