所谓工具包,是指把页面的功能划分出来,放到另外一个包里面。方面工程管理、结构清晰、团队协作等。

  1. 根据原来的例子:要做一个com.myweb包的工具包com.myweb.tool
  2. 为导航栏统一创建接口
  3. 创建好后,要创建页面上的一些导航栏,分为顶部导航栏和底部导航栏
  4. 创建工厂,用工厂来生成顶部导航栏和底部导航栏
  5. 获取创建好的元素并加到界面上

上面听起来稍微比较复杂的,但是我感觉还是可以理解的。

代码如下;

package com.myweb.tool;

public interface NavBar {
//导航栏接口
public String getBarContent();//获取导航栏
}

导航栏接口

package com.myweb.tool;

public class TopBar implements NavBar {

    @Override
public String getBarContent() {
return " <a href=''>首页</a> | <a href=''>新闻</a> | <a href=''>用户注册</a> ";
} }

顶部导航栏

package com.myweb.tool;

public class BottomBar implements NavBar{

    @Override
public String getBarContent() { return " <a href=''>首页</a> | <a href=''>关于我们</a> | <a href=''>招聘信息</a> ";
} }

底部导航栏

package com.myweb.tool;

public class BarFactory {
public static NavBar CreateBar(String type)
{
NavBar nv;
switch(type)
{
case "top":
nv = new TopBar();
break; case "bottom":
nv = new BottomBar();
break; default:
nv = new TopBar();
break;
} return nv;
}
}

导航栏工厂

    @Override
public ModelAndView handleRequest(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception { ModelAndView mv = new ModelAndView(view); /* TopBar topNav = new TopBar();
mv.addObject("top_nav", topNav.getBarContent()); BottomBar bottomNav = new BottomBar();
mv.addObject("bottom_nav", bottomNav.getBarContent());*/ NavBar topNav = BarFactory.CreateBar("top");
NavBar bottomNav = BarFactory.CreateBar("bottom");
mv.addObject("top_nav", topNav.getBarContent());
mv.addObject("bottom_nav", bottomNav.getBarContent()); return mv;
}

创建导航栏

<!DOCTYPE html>
<!-- [ published at 2015-11-13 12:30:50 ] -->
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<title>新阳</title>
</head>
<body>
<div style="width:100%;height:95px;border-bottom:solid 1px gray">
${top_nav}
</div> <div > body content </div> <div style="width:100%;height:95px;border-bottom:solid 1px gray;margin-top:500px">
${bottom_nav} &copy 2015 新阳
</div>
</body>
</html>

jsp加载导航栏

Java 页面的工具包的更多相关文章

  1. Java页面中文编码要转换两次encodeURI

    1.js文件中使用encodeURI()方法. login_name = encodeURI(encodeURI(login_name)); 2.action中URLDecoder解码 loginNa ...

  2. Java 8并发工具包漫游指南

    Java 8并发工具包简介 Java 8并发工具包由3个包组成,分别是java.util.concurrent.java.util.concurrent.atomic和java.util.concur ...

  3. java页面url传值中文编码&解码

    URL参数中有中文值,传到服务端,在用request.getParameter()方法,得到的常常会是乱码. 这将涉及到字符解码操作,我们在应用中常常会用new String(fieldType.ge ...

  4. java 页面传输中文乱码解决方式

    post 中文乱码解决方案 接受数据的时候设置 request.setCharacterEncoding("utf-8");//编码必须和页面编码一致 页面设置 <%@pag ...

  5. 用java页面下载图片

    try { //根据String形式创建一个URL对象 String filePath = materialProductWorks.getDownloadImageUrl(); URL url = ...

  6. java 页面换行处理

    在taxtarea中输入的文本.如果含有回车或空格.在界面上显示的时候则不哪么正常.回车消失了,空格变短了. 如何解决这个问题呢.有2种方法. 1.使用<pre>标签 w3c对pre元素是 ...

  7. java 页面url传值中文乱码的解决方法

    parent.window.location.href 和 iframe中src的乱码问题.要在这两个url地址中传中文,必须加编码,然后再解码.编码:encodeURI(encodeURI(&quo ...

  8. java基础-jdk工具包

    1. 标准工具 这些工具都是JDK提供的,通常都是长期支持的工具,JDK承诺这些工具比较好用.不同系统.不同版本之间可能会有差异,但是不会突然就有一个工具消失. 1.1 基础包 (extcheck, ...

  9. Java页面中EL的${}与<%= request.getParameter%>有什么区别? el 取不到值

    ${requestScope}操作的是request的作用域,相当于request.getAttribute();不过EL比这个更智能些,它不用强制类型转换就可以拿到了真实对象的值.request.g ...

随机推荐

  1. 使用VNC远程管理VPS(Centos系统)

    首先安装桌面环境,我选择的是xfce,轻量级桌面,小巧实用不占太多内存,(占用内存方面,xfce<kde,kde<gnome). centos默认源里面没有xfce,首先安装epel源,然 ...

  2. CentOS 6.5添加163源

    1.首先备份/etc/yum.repos.d/CentOS-Base.repo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS ...

  3. 利用Openssl进行RSA加密签名算法

    加密(签名)的过程是(M的e次方)mod n,在这里我们把消息M假定为一个数字,但实际上消息一般为字符串,所以必须有一个将字符串转化为数字的规则,并且要让这个数字的大小和n相当(也不能比 n大).这样 ...

  4. PAT (Advanced Level) 1092. To Buy or Not to Buy (20)

    简单题. #include<cstdio> #include<cstring> ; char s1[maxn],s2[maxn]; ]; ]; int main() { sca ...

  5. HDU 3715 Go Deeper

    二分答案 + 2-SAT判断 #include<cstdio> #include<cstring> #include<cmath> #include<vect ...

  6. 深入浅出Ajax(三)

    <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> &l ...

  7. HashSet 与HashMap底层实现

    1. HashSet底层通过包装HashMap来实现,HashSet在添加一个值的时候,实际上是将此值作为HashMap中的key来进行保存. 2. HashMap的底层实现是通过初始化化一个Entr ...

  8. excel 合并多个文件

    新建一个工作表,命名后保存到和与合并的100个文件同一个文件文件夹,摁 alt + f11,双击工程资源管理器里面的sheet1(sheet1),在右侧的代码区粘贴如下代码.运行.等候一会就OK了. ...

  9. POP音原因

    一,通话时调节音量,有POP音. POP音产生原因在于,音量变化太大导致有POP音,需要以淡入淡出的方式调节音量.请申请MOLY00108114 & MOLY00108143这两个Modem ...

  10. Total Highway Distance

    Total Highway Distance 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 Little Hi and Little Ho are playing a ...