在项目开发中,jsp页面需要进行路径跳转,正常跳转路径是 ip:port/xxxx/xxxx/xxxx,这种写法不可取,因为不灵活,耦合严重,所以在生产环境需要动态配置,以下介绍几种动态配置方法
一、在html代码中写java代码的方式
<a href="<%=request.getContextPath() %>/xxxx/xxxx">跳转按钮</a>,这样可以实现动态获取上下文
二、通过el表达式方式,需要引入支持el表达式的jar包 jstl.jar 和 standard.jar 两个jar包。
<a href="${pageContext.request.contextPath}/xxxx/xxxx">点击2</a> 可以实现动态获取上下文
三、以上两种在项目中一般不会使用,而是在一个公共的jsp页面定义一个全局的上下文,其他jsp页面需要引入这个公共的jsp页面
这样的好处是,每个页面不需要单独引入相关依赖,只需要引入一个公共依赖,则可将所有依赖全部引入,管理上也方便
1.需要引入c标签支持 ,下面是maven依赖
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
2.在页面上引入c标签
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
3.设置全局上下文
<c:set var="ctx" value="${pageContext.request.contextPath}"></c:set>
4.在页面引用,也是用el表达式获取上下文
<a href="${ctx}/xxxx/xxxx">点击2</a> 可以实现动态获取上下文
同时也可以在js代码中直接引用${ctx}/xxxx/xxxx