manchesliang
老生
老生
  • UID233
  • 粉丝0
  • 关注0
  • 发帖数13
阅读:3285回复:0

java负基础第八课思考题(list,map实现首页)

楼主#
更多 发布于:2016-01-17 23:22
新手学java,希望能跟着叔学的欢乐!
截图是实现效果,我把页面顶部的导航栏用list实现,页面底部的导航栏用map实现

描述:效果

图片:QQ图片20160117230929.png

效果

实现方法:
1.更改NavBar接口类,把抽象方法中的声明类型改成List
public interface NavBar {
 //代表导航栏接口
 //public String getBarContent();//获取导航栏接口
 public List getBarContent();
}
2.更改TopBar类,用到List
public class TopBar implements NavBar {
 @Override
 public List getBarContent() {
  // TODO Auto-generated method stub
  
  List top1=new ArrayList();
  top1.add("首页");
  top1.add("新闻中心");
  top1.add("用户注册");
  return top1;
 }
}
3.更改BottomBar类,用到map
public class BottomBar implements NavBar {
 @Override
 public List  getBarContent() {
  // TODO Auto-generated method stub
  List bottom=new ArrayList();
  Map bottom1=new HashMap();
  bottom1.put("newstitle", "首页");
  Map bottom2=new HashMap();
  bottom2.put("newstitle", "关于我们");
  Map bottom3=new HashMap();
  bottom3.put("newstitle", "招聘信息");
  bottom.add(bottom1);
  bottom.add(bottom2);
  bottom.add(bottom3);
  return bottom;
 }
}
4.NewsAction类一点儿也不用动
public class NewsAction {
 
 @RequestMapping("/news")
 public ModelAndView ShowNewsDetails(@RequestParam(value="id",required=false) String id)
 {
 //  news?id=3  则触发此方法
  ModelAndView mv=new ModelAndView("news");
  
  NavBar topNav=BarFactory.CreateBar("top");
  mv.addObject("top_nav", topNav.getBarContent());
  NavBar botNav=BarFactory.CreateBar("bottom");
  mv.addObject("bot_nav", botNav.getBarContent());
  return mv;
 }
}
5.news.jps的div部分有如下更改(顶部用的list,底部用的map)
 <div style="width:100%;height:95px;border-bootom:solid 1px gray">
 <!--  ${top_nav}-->
 <c:forEach items="${top_nav}" var="newstitle">
  <a href='#'>${newstitle}</a>|
 </c:forEach>
 </div>

 <div style="width:100%;height:95px;border-bootom:solid 1px gray":900px>
 <!-- ${bot_nav} -->
 <c:forEach items="${bot_nav}" var="news">
  <a href='#'>${news.newstitle}</a>|
 </c:forEach>&copy;2016 程序员在囧途
 </div>

最新喜欢:

shenyishenyi
游客

返回顶部