JFinal怎么设置全局变量 ==在线等

类似于javaEE的request.setAttribute("",getContextPath())


评论区

欲风217

2017-11-22 14:31

你所谓的全局变量是想在 html 或 jsp 等视图中使用的变量是么?

欲风217

2017-11-22 14:36

如果是的话,只需要这么做即可
public void configEngine(Engine me) {
me.addSharedObject("HTTP_HOST", p.get("base.httpHost"));
}

在 html 或 jsp 中 #(HTTP_HOST)

1040110333

2017-11-22 18:10

1040110333

2017-11-22 18:13

@欲风217 想获取项目路径,但是能随时更改

1040110333

2017-11-22 18:35

@欲风217 还没解决

1040110333

2017-11-22 19:03

@欲风217 已解决 thanks

欲风217

2017-11-23 09:10

@1040110333 能随时更改是什么意思?已解决,是怎么解决的呢?

rocker18

2017-11-23 10:10

public void afterJFinalStart() {
ServletContext context = JFinal.me().getServletContext();
context.setAttribute(Constant.WEB_HOME_NAME, config.get("HOME_TITLE"));
super.afterJFinalStart();
}

1040110333

2017-11-29 19:07

@欲风217 if(!loadConfig().get("root").trim().isEmpty()) {
me.addSharedObject("root", "/"+loadConfig().get("root"));
}

1040110333

2017-11-29 19:17

@欲风217 把属性放到了配置文件中

欲风217

2017-11-30 08:30

@1040110333 me.addSharedObject("root", "/"+loadConfig().get("root","defaultValue")); 这样可以省去 if 判断。

另外属性既然放到配置文件中了,为什么不把 "/" 也放到配置文件中,节省一次字符串拼接,也更易读。

1040110333

2017-11-30 09:23

热门反馈

扫码入社