作者winddust (乔狼)
看板java
标题[JSP ]include加入判断式写法(参考canon网站)
时间Tue Feb 2 18:13:09 2010
※ [本文转录自 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