jsp定位和包含导入

jsp资源定位问题

相对定位
相对定位,这种方式适合于页面和资源不再发生变化,在实际开发中,相对定位使用不多。

./03.jsp  当前路径
./pages/03.jsp    当前路径下pages下

绝对定位
绝对定位方式是我们编程中使用最为常用的方式,推荐使用绝对定位。

/表示根路径

注意:jsp的标签和指令中,默认已经加了上下文路径(为了编程方便)。
html:在实际开发中,不建议直接写上下文路径,建议使用api自动获取上下文。
jsp不会为html自动加入上下文路径,所以说需要web开发,那么在所有html标签中,进行资源引入的时候,建议使用绝对路径引入,同时使用href="<%=request.getContextPath()%>/pages/02.jsp"生成上下文路径。

jsp的静态包含和动态包含

公共部分,一样的部分代码抽取出来,作为一个独立的部分,导入需要的地方。
1、静态包含
使用jsp的include指令完成
<%@ include file="/common/top.jsp" %>
静态包含,会把需要导入的直接导入页面、需要导入的页面会被作为页面的一部分直接写入到页面里。
2、动态包含
动态包含,仅仅是引入需要的资源,两者还是分离的。
<jsp:include page="/common/top.jsp"></jsp:include>

注意:在实际开发中,动态包含使用更多,因为定义变量不会冲突。但是如果当权限判断,登录判断等需要跳转时,建议使用静态包含。
公共部分

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
 <ul style="color: red;">
            <li><a href="#">首页</a></li>
            <li><a href="#">登录</a></li>
            <li><a href="#">注册</a></li>
            <li><a href="#">注销</a></li>
            <li><a href="#">订单</a></li>
            
 </ul>

列表部分

<%@ 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>
      <%--  <%@ include file="/common/top.jsp" %>  --%>
      <jsp:include page="/common/top.jsp"></jsp:include>
       <h1>商品列表页面</h1>
     <%--   <%
      String name="lilei";
       %>
       --%>
</body>
</html>

执行结果
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章