开发者社区> 问答> 正文

请问如何在Interceptor中获取配置(loadPropertyFile)呢? - 配置报错

@JFinal 你好,想跟你请教个问题:

我想在某些视图请求中加一个staic_prefix的变量,将这个变量加到静态资源请求路径前以用来适应开发环境和线上环境

比如:


<link type="text/css" rel="stylesheet" href="${static_prefix}/static/css/main.css">



public class StaticPrefixInterceptor implements Interceptor {

	public void intercept(ActionInvocation ai) {
		
		Controller c = ai.getController();
		c.setAttr("static_prefix", "abc");
		ai.invoke();
	}

}


我想根据loadPropertyFile("config.txt")获取到配置的isDevMode来设置不同的static_prefix,或者能够得到JFinalConfig中设置的DevMode也可以,请问怎么才能在Interceptor中得到呢?

展开
收起
montos 2020-05-31 22:59:39 405 0
1 条回答
写回答
取消 提交回答
  • 在 YourJFinalConfig 中添加点 static 变量,如这样:

    public class YourJFinalConfig extends JFinalConfig {
      private static bolean devMode = false;
      
      public void configConstant(Constants me) {
        loadPropertyFile(...);
        devMode = getPropertyToBoolean("devMode", false);
        me.setDevMode(devMode);
      }
      
      public static boolean getDevMode() {
        return devMode();
      }
    }
    
    在拦截器这样用:
    YourJFinalConfig.getDevMode();
    
    你也可以这样用:JFinal.me().getConstants()

    JFinal.me().getConstants() 可以拿到所有配置好的常量


    ######非常感谢,回复真是及时啊~~越来越爱了
    2020-05-31 22:59:49
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载