JSP中何获取properties中的值

  • Post author:
  • Post category:其他


在我最近所升级的项目中存在老的项目,也就是传统的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%>可以获取。



版权声明:本文为weixin_44210007原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。