使用BSFManager加载JS配置文件

在一些项目中使用JS文件做配置文件。遂研究,得以下小小心得。

第一步导包:

		
            junit
            junit
            RELEASE
        
        
         
        
            bsf
            bsf
            2.4.0
        
        
        
        
            org.mozilla
            rhino
            1.7R4
        

第二步,写配置文件:
在这里插入图片描述
使用BSFManager加载JS配置文件_第1张图片
注意: 这里的config 就是要在Java程序里面声明的beanName, set方法就是程序通过反射进行调用的方法。
第三步,上代码:


import org.apache.bsf.BSFManager;
import org.apache.bsf.util.IOUtils;
import org.junit.Test;

import java.io.FileReader;
import java.util.HashMap;

public class TestBSFManager {

    private static final HashMap map = new HashMap<>();

    @Test
    public void loadConfigTest() {
        BSFManager bsfManager = new BSFManager();
        // 获取文件路径
        String path = this.getClass().getResource("/config.js").getPath();
        try {
            // 将数据读取出来
            String reader = IOUtils.getStringFromReader(new FileReader(path));
            // 声明bean,要与js配置文件中的对应
            bsfManager.declareBean("config", this, TestBSFManager.class);
            bsfManager.exec("javascript", path, 0, 0, reader);

            map.forEach((k, v) -> {
                System.out.print(k.toString() + " | " + v.toString());
                System.out.println();
            });
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    // 此方法必须和JS配置文件中配置的方法一致,通过反射调用此方法,如下图
    public void set(String key, String value) {
        map.put(key, value);
    }

}

使用BSFManager加载JS配置文件_第2张图片
使用BSFManager加载JS配置文件_第3张图片

你可能感兴趣的:(Java,BSFManager,JS配置文件,Java读取JS文件)