springboot+thymeleaf后端设置全局变量前端js接收

1 篇文章 0 订阅
1 篇文章 0 订阅

公司旧的项目用play,新的项目改用springboot,前端同学问我,新的项目怎么拿baseUrl?

其实springboot+thymeleaf是可以做到的,我就贴个代码记录一下吧

后端代码如下:

@Resource
    private void configureThymeleafStaticVars(ThymeleafViewResolver viewResolver) {
        if(viewResolver != null) {
            Map<String, Object> vars = Maps.newHashMap();
            vars.put("picUrl", env.getProperty("picUrl"));
            vars.put("baseUrl", env.getProperty("baseUrl"));
            viewResolver.setStaticVariables(vars);
        }
    }

只要放在spring能扫描到的地方就可以了.

不过这里有个问题,一般来说,这些地址都是通过properties文件,或者yml文件,分环境配置的,要拿配置文件的值,我第一时间就想用@value,但是由于加载顺序的关系,@value加载在后面,所以这里就不能用@value了,用environment

@Resource
    private Environment env;

然后到前端的代码:

把这段代码放到header.html,统一加载就行了

<script th:inline="javascript">
        const baseUrl = '[(${baseUrl})]';
        const picUrl = '[(${picUrl})]';
    </script>




  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值