菜单栏信息展示
实现功能:在网站首页的菜单栏显示所有的商品分类(登录/不登录状态下都会显示)—使用Filter实现
注:
(1)本功能的实现与首页热门商品展示类似
(2)需要将web.xml的LoginFilter的url-pattern路径配置为/*
要实现登录成功后在网页头部显示用户名,只需在登录成功后将当前用户存入session,然后在登录页面使用jstl语法判断用户状态,
登录成功则显示用户名。
......
if(user!=null) {
HttpSession session = request.getSession();
session.setAttribute("user", user);//将当前用户(User)加入session
request.getRequestDispatcher("/index.jsp").forward(request, response);
}
......
}<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<!-- 登录 注册 购物车... -->
<div class="container-fluid">
<div class="col-md-4">
<img src="img/logo2.png" />
</div>
<div class="col-md-5">
<img src="img/header.png" />
</div>
<div class="col-md-3" style="padding-top:20px">
<ol class="list-inline">
<c:if test="${empty user}">
<li><a href="login.jsp">登录</a></li>
<li><a href="register.jsp">注册</a></li>
</c:if>
<c:if test="${not empty user}">
<li>${user.username}</li>
<li><a href="cart.jsp">购物车</a></li>
<li><a href="order_list.jsp">我的订单</a></li>
</c:if>
</ol>
</div>
</div>
<!-- 导航条 -->
<div class="container-fluid">
<nav class="navbar navbar-inverse">
<div class="container-fluid">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">首页</a>
</div>
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav">
<li class="active"><a href="product_list.htm">手机数码<span class="sr-only">(current)</span></a></li>
<li><a href="#">电脑办公</a></li>
<li><a href="#">电脑办公</a></li>
<li><a href="#">电脑办公</a></li>
</ul>
<form class="navbar-form navbar-right" role="search">
<div class="form-group">
<input type="text" class="form-control" placeholder="Search">
</div>
<button type="submit" class="btn btn-default">Submit</button>
</form>
</div>
</div>
</nav>
</div>
<%@page import="java.util.HashMap"%>
<%@page import="java.util.ArrayList"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
request.setAttribute("a", 1);
request.setAttribute("b", 4);
//在request域中设置复杂数据(ArrayList)
ArrayList<String> arr = new ArrayList<String>();
arr.add("zhangsan");
arr.add("lisi");
arr.add("wangwu");
request.setAttribute("list", arr);
//在request域中设置复杂数据(HashMap)
HashMap<String, String> map = new HashMap<String, String>();
map.put("a", "A");
map.put("b", "B");
map.put("c", "C");
request.setAttribute("map", map);
%>
<c:if test="${a>b}">
<font color="red">a大于b</font><br>
</c:if>
<c:if test="${a<b}">
<font color="green">a大于b</font><br>
</c:if>
<c:forEach begin="1" end="10" step="1" var="n">
${n}
</c:forEach><br>
<c:forEach items="${list}" var="s">
${s}
</c:forEach><br>
<c:forEach items="${map}" var="en">
${en.key}
${en.value}<br>
</c:forEach>
</body>
</html>s
<%@page import="com.oracle.bean.Product"%>
<%@page import="java.util.HashMap"%>
<%@page import="java.util.ArrayList"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
//在request域中设置简单数据
request.setAttribute("a", 1);
request.setAttribute("b", 1);
//在request域中设置复杂数据(ArrayList)
ArrayList<String> arr = new ArrayList<String>();
arr.add("zhangsan");
arr.add("lisi");
arr.add("wangwu");
request.setAttribute("list", arr);
//在request域中设置复杂数据(HashMap)
HashMap<String, String> map = new HashMap<String, String>();
map.put("a", "A");
map.put("b", "B");
map.put("c", "C");
request.setAttribute("map", map);
//在request域中设置复杂数据(JavaBean)
Product p = new Product();
p.setId(1);
p.setPname("黄瓜");
p.setPrice(15.2);
p.setPdesc("黄瓜好吃,香");
request.setAttribute("p", p);
%>
<%=request.getAttribute("a") %>
${a+b}<br>
${list[0]}<br>
${map.a}<br>
${p.pname}<br>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
(2)taglib:导入标签库
s
<%@taglib prefix=”c” uri=”http://java.sun.com/jsp/jstl/core" %>
导入标签库后就可以使用jstl标签替换jsp中的if、for表达式。更多见jstl标签
3.3 jsp中的域对象
request:当前请求
session:当前会话
3.4 jsp的动作标签
语法:<jsp:动作标签 属性=”值”>
例如: 将其他页面包含到当前页面
<jsp:include page="/.."></jsp:inclue>