thymeleaf模板中通过全局配置类读取yml配置

605 阅读1分钟

上下文环境

spring boot、thymeleaf

yml配置

doc:
  upload:
    exts:
      - wps
      - doc
      - docx
      - xls
      - xlsx
      - ppt
      - pptx
      - pdf
    path: C:\Attachments\

全局配置类

package com.example.doc.config;

import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;

import java.util.Date;
import java.util.List;

@Data
@Configuration("globalConfig")
@ConfigurationProperties("doc")
public class GlobalConfig {

    public UploadConfig upload;
    
}
package com.example.doc.config;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;

import java.util.List;

@Data
@Configuration
@ConfigurationProperties("doc.upload")
public class UploadConfig {

    /**
     * 扩展名
     */
    public List<String> exts;

    /**
     * 上传路径
     */
    public String path;
}

thymeleaf模板中两种方式读取配置

<p th:text="${@globalConfig.upload.exts.toString().replace('[','').replace(']','').replace(',','、')}"></p>
<script type="text/javascript" th:inline="javascript">
    var value = [[${@globalConfig.upload.exts}]];
    console.log(value.join("|"));
</script>