欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JSP中何获取properties中的值

程序员文章站 2024-02-18 12:10:58
...

在我最近所升级的项目中存在老的项目,也就是传统的jsp页面。大家如果不知道怎么升级,请查看我的上一篇博客springboot版本从1.x升级至2.x

由于我的项目是部署在容器中,众所周知,一个项目要是想适配容器环境那么唯一不同的地方就是环境。如何让一个jsp项目去适配容器呢?

我们都知道,容器的访问规则遵循路由规则严格按照{域名}/{组名}/{项目名}/{项目地址}/index.do(html)。域名,项目名,项目地址这些都是不变的,唯一存在变动的就是组名。当docker集成的时候把项目放在不同的组下,那么docker就会自动生成不同的镜像。

我在properties中设置了一个变量accesspath,代替这个组名。那么我们所需要的就是如何在jsp中获取这个accesspath。

accesspath=/zmms/zmms-cms

需要引入的jar

<%@page contentType="text/html;charset=UTF-8;" language="java" pageEncoding="UTF-8" import="java.util.*"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@page import="org.springframework.web.context.support.WebApplicationContextUtils"%>
<%@page import="org.springframework.context.ApplicationContext"%>

获取accesspath方法

ServletContext context = request.getSession().getServletContext();
        ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(context);

        String[] env = ctx.getEnvironment().getActiveProfiles();
        
        String accesspath = ctx.getEnvironment().getProperty("accesspath");

这样我们就可以在jsp中获取到我们想要的accesspath。
获取到accesspath后,加在您需要的地方,通过<%accesspath%>可以获取。