首页
App
&
Coffee
文档
项目
分享
反馈
俱乐部
登录
注册
IndexController重定向到index.html后,请问在html中的css、js路径如何动态加上上下文路径(项目名称)?
victorlhh
2017-09-26 14:49
IndexController重定向到index.html后,请问在html中的css、js路径如何动态加上上下文路径(项目名称)?
@
JFinal
项目:
JFinal
评论区
JFinal
2017-09-26 14:52
如果是用的jfinal template,只需要配置一句:
engine.addShardObject("ctx", JFinal.me().getContextPath());
然后就可以在页面中这样来用:
#(ctx)/path/path/xxx.js
如果是用的别的模板引擎,则可以添加一个Handler解决:
me.add(new ContextPathHandler("ctx"));
注意:这个 "ctx" 是可以根据个人喜好任意取名的
回复
victorlhh
2017-09-26 15:06
@JFinal
有添加一个Handler,但是感觉没有效果,不清楚是哪个地方没有配置?
在JFinalConfig中添加Handler源码:
@Override
public void configHandler(Handlers me) {
JDruidStatViewHandler viewHandler = new JDruidStatViewHandler("/druid");
me.add(viewHandler);
me.add(new ContextPathHandler("ctx"));
}
IndexController中的index方法只是简单的重定向到index.html
// 首页
public void index(){
redirect("/index.html");
}
在index.html中添加${ctx}:
帮忙分析一下该问题如何解决?感谢
回复
victorlhh
2017-09-26 15:07
href="${ctx}/statics/img/favicon.png"
被过滤了,把路径贴出来
回复
JFinal
2017-09-26 16:40
@victorlhh
redirect 只能是 url,而不是能一个模板文件,所以,要么 redirect(action) ,要么 render("index.html")
注意用的什么模板引擎,jfinal 模板引擎用的 #(ctx),否则要用 ${ctx}
回复
发送
我要反馈
热门反馈
扫码入社
engine.addShardObject("ctx", JFinal.me().getContextPath());
然后就可以在页面中这样来用:
#(ctx)/path/path/xxx.js
如果是用的别的模板引擎,则可以添加一个Handler解决:
me.add(new ContextPathHandler("ctx"));
注意:这个 "ctx" 是可以根据个人喜好任意取名的