看板 Web_Design 關於我們 聯絡資訊
我做過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)
TonyQ:jstl的話其實是可以搭配el 來判斷頁面. 02/03 12:26
TonyQ:需要sample的話我要翻一下 - -"" 好久沒寫了. 02/03 12:27
TonyQ:我以前曾經用jstl+el 實作不同語系頁面的切換. 02/03 12:27
TonyQ:你說的這種預先留好位置的版型也是ok , 因為實務上寫通用 02/03 12:29
TonyQ:版型限制很多 , 而且很難發揮 , 我是比較傾向於先寫好內容 02/03 12:29
TonyQ:再套css去出版 ,不同的版用不同的css來做控制. 02/03 12:29