Java 页面的工具包
所谓工具包,是指把页面的功能划分出来,放到另外一个包里面。方面工程管理、结构清晰、团队协作等。
- 根据原来的例子:要做一个com.myweb包的工具包com.myweb.tool
- 为导航栏统一创建接口
- 创建好后,要创建页面上的一些导航栏,分为顶部导航栏和底部导航栏
- 创建工厂,用工厂来生成顶部导航栏和底部导航栏
- 获取创建好的元素并加到界面上
上面听起来稍微比较复杂的,但是我感觉还是可以理解的。
代码如下;
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} © 2015 新阳
</div>
</body>
</html>
jsp加载导航栏
Java 页面的工具包的更多相关文章
- Java页面中文编码要转换两次encodeURI
1.js文件中使用encodeURI()方法. login_name = encodeURI(encodeURI(login_name)); 2.action中URLDecoder解码 loginNa ...
- Java 8并发工具包漫游指南
Java 8并发工具包简介 Java 8并发工具包由3个包组成,分别是java.util.concurrent.java.util.concurrent.atomic和java.util.concur ...
- java页面url传值中文编码&解码
URL参数中有中文值,传到服务端,在用request.getParameter()方法,得到的常常会是乱码. 这将涉及到字符解码操作,我们在应用中常常会用new String(fieldType.ge ...
- java 页面传输中文乱码解决方式
post 中文乱码解决方案 接受数据的时候设置 request.setCharacterEncoding("utf-8");//编码必须和页面编码一致 页面设置 <%@pag ...
- 用java页面下载图片
try { //根据String形式创建一个URL对象 String filePath = materialProductWorks.getDownloadImageUrl(); URL url = ...
- java 页面换行处理
在taxtarea中输入的文本.如果含有回车或空格.在界面上显示的时候则不哪么正常.回车消失了,空格变短了. 如何解决这个问题呢.有2种方法. 1.使用<pre>标签 w3c对pre元素是 ...
- java 页面url传值中文乱码的解决方法
parent.window.location.href 和 iframe中src的乱码问题.要在这两个url地址中传中文,必须加编码,然后再解码.编码:encodeURI(encodeURI(&quo ...
- java基础-jdk工具包
1. 标准工具 这些工具都是JDK提供的,通常都是长期支持的工具,JDK承诺这些工具比较好用.不同系统.不同版本之间可能会有差异,但是不会突然就有一个工具消失. 1.1 基础包 (extcheck, ...
- Java页面中EL的${}与<%= request.getParameter%>有什么区别? el 取不到值
${requestScope}操作的是request的作用域,相当于request.getAttribute();不过EL比这个更智能些,它不用强制类型转换就可以拿到了真实对象的值.request.g ...
随机推荐
- tabBarItem动画
1.有时,我们需要为tabBarItem设置一些动画.在网上查了半天,没有结果.自己写了一个简单的动画 代码如下: - (void)tabBarController:(UITabBarControll ...
- Python3基础 函数 默认值参数示例
镇场诗: 诚听如来语,顿舍世间名与利.愿做地藏徒,广演是经阎浮提. 愿尽吾所学,成就一良心博客.愿诸后来人,重现智慧清净体.-------------------------------------- ...
- 阿里笔试js题
有一个数组,其中保存的都是小写英文字符串,现在要把它按照除了第一个字母外的字符的字典顺序(字典顺序就是按首字母从a-z顺序排列,如果首字母相同则按第二个字母……)排序,请编写代码: 例:[" ...
- html5中的postMessage解决跨域问题
解决跨域问题的方法有很多,如:图像ping(简单).jsonp(缺点是不能实现跨域post).CROS(CORS的本质让服务器通过新增响应头Access-Control-Allow-Origin,通过 ...
- localStorage、sessionStorages 使用
html5中的Web Storage包括了两种存储方式:sessionStorage和localStorage.sessionStorage用于本地存储一个会话(session)中的数据,这些数据只有 ...
- Ubuntu下安装PDF 文档阅读器Adobe Reader 9.5.5
由于没有PPA所以我们必须在Adobe的官方FTP上下载安装,下面的方法同时适用于32位和64位系统: wget ftp://ftp.adobe.com/pub/adobe/reader/unix/9 ...
- Codeforces AIM Tech Round3
打得最烂一场Codeforces,多次都错题,无限WA... A题: 题意:给定n个橘子的大小,大小超过b的丢掉,不足d的补充进来,同时超过d的部分去掉,问要去掉几次 分析:直接模拟即可 #inclu ...
- /etc/profile文件
导读:Linux /etc/profile文件的改变会涉及到系统的环境,也就是有关Linux环境变量的东西,学习Linux要了解Linux profile文件的相关原理,这里对则以文件进行具体分析.这 ...
- Js apply call方法详解
Js apply方法详解 我在一开始看到javascript的函数apply和call时,非常的模糊,看也看不懂,最近在网上看到一些文章对apply方法和call的一些示例,总算是看的有点眉目了,在这 ...
- 安装php扩展后,执行时找不到扩展 class xxx no found
当编译安装一个新的php扩展,例如安装redis, 安装后 执行 new Redis(), 如果发现找不到class Redis,可以先检查redis.so文件是否在php的扩展目录下, 如果发现是, ...