jsp动态导航栏

网站页面的导航栏是从数据库中生成出来的,所以在界面上展示导航栏时,要从数据库中读取出来,但不能每次显示一个页面都从数据库中读,这样就很浪费性能,应该考虑把导航栏放到一个缓存中。如:session、application、memcache等。

对于访问量小的网站,也可以使用如下方法:

@Component
public class NavigationUtil {

	public static List<BeautifulClassEntity> beautifulClassList;

	public static List<ActivityClassEntity> activityClassList;

	public static List<BeautifulClassEntity> getBeautifulClassList(){
		if(beautifulClassList == null){

			beautifulClassList = beautifulClassService.getAllBeautifulClass();
		}
		return beautifulClassList;
	}

	public static List<ActivityClassEntity> getActivityClassList(){
		if(activityClassList == null){
			activityClassList = activityService.getActivityList();
		}
		return activityClassList;
	}

	private static BeautifulClassService beautifulClassService;

	private static ActivityService activityService;

	@Autowired
	public void setBeautifulClassService(BeautifulClassService beautifulClassService) {
		NavigationUtil.beautifulClassService = beautifulClassService;
	}

	@Autowired
	public void setActivityService(ActivityService activityService) {
		NavigationUtil.activityService = activityService;
	}

	public String getTest(){
		return "aa";
	}

}
<%
	List<BeautifulClassEntity> beautifulList = NavigationUtil.getBeautifulClassList();
	for(BeautifulClassEntity beautiful : beautifulList){
		%>
		<a href="/beautiful/cloth.do?beautifulClassId=<%=beautiful.getId() %>" class="main_title_nav_cur">
			<%=beautiful.getBeautifulName() %>
		</a>
		<%
	}
 %>

注意:该种方式仅适用于小型且访问量不大的网站,因为static存储中内存中,且一份,多个用户同时访问时,就会出现等待的状况。

以上皆为本人总结所得,如果不妥之处,敬请提出,共同学习。。。

时间: 2024-09-11 16:52:55

jsp动态导航栏的相关文章

Jquery实现动态导航栏和轮播导航栏

动态导航栏和轮播导航栏的实现思想: 利用jquery技术的append()方法和bind()方法实现li标签的添加和点击事件绑定,在利用$getJSON(url,data,function)请求方法实现获取springmvc传递的list<map<String,Object>>的值.其中还遇到了浏览器兼容问题,主要是Mozilla Firefox兼容margin属性的值的问题,最后解决办法是:创建2(IE和FireFox)种类型的css样式,根据myBrowser()自定义方法判断

巧妙使用checkbox制作纯css动态导航栏

前提:很多时候.我们的网页都需要一个垂直的导航栏.可以分类.有分类.自然就有展开.关闭的功能.你还在使用jquery操作dom来制作吗?那你就out了! 方案:使用checkbox 的 checked 属性.巧妙地制作导航栏 结果: 我们主要制作成这样这样的的导航栏: 首先.我们写出相对的html  由于时间问题.svg没有处理到类中.所以这里给出svg的空标签.大家如果想看效果.可以到我的git里面fork一份 <div class="nav-child"> <in

【JSP】导航栏悬停顶部简单特效

<head> <title>ALong7yrone</title> <style type="text/css"> .mydiv { height: 31px; margin: 20px 0; background-color: #fff; border-bottom: 1px solid #ccc; } .mydiv span { display: inline-block; height: 20px; line-height: 20p

动态获取导航栏

这里记录的是两层的导航栏.首先数据库中建两张表,一张存储父节点数据,另一张存储子节点数据,结构如下 父表: 子表: 这里有两种方式实现导航栏.第一种,通过两个Repeater循环得到并展示导航栏.第二种,通过拼json方式传给前台,前台动态拼html得到导航栏. 首先记录第一种方法: protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { Repeater1.DataSource = getfa

layui动态添加选择卡的方式实现左侧和头部导航栏

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="viewport" content="width=device-width, initial-sc

uni-app添加自定义底部导航栏,实现根据权限动态切换底部栏目的功能

uni-app针对底部导航栏TabBar,只提供了动态修改样式文字和图标的API,并没有提供动态修改某个栏目的跳转链接.追加或者删除某个栏目的功能. 问题阐述:实际开发的项目中的确需要判断登录账户的权限,来动态显示某两个,或者某三个栏目 如:管理用户显示[首页,管理,我的],普通用户显示[首页,我的],中间的管理页面,就得动态判断是否要追加了 解决方案:隐藏原有的tabBar,添加自定义的底部导航栏 1.思路:参照原来导航栏的写法,延用原来TabBar的样式布局,在每个栏目的首页添加自定义导航栏

动态 改变导航栏透明度

#pragma mark - 实现代理方法  UINavigationBarDelegate 改变导航栏的颜色等功能 - (void)navigationController:(UINavigationController *)navigationController didShowViewController:(UIViewController *)viewController animated:(BOOL)animated { self.navigationController.naviga

Android 动态隐藏显示导航栏,状态栏

Talk is cheap, show me the code. --Linus Torvalds Okay, here: 一.导航栏: [java] view plain copy private void hideNavigationBar() { View decorView = getWindow().getDecorView(); int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULL

CSS实现导航栏底部动态滚动条效果

预习了CSS3部分的新知识,想着在不使用JS的情况下实现导航栏滚动条效果,如下: 实现滚动条效果,其实就是在<li></li>标签中让<span>元素的宽度由0变化到100%,代码很简单,如下所示: CSS样式部分: <style> ul.nav{background-color: whitesmoke;} ul.nav li{padding: 10px 0;margin: 0 30px;overflow: hidden;} ul.nav li a{text