首页
App
&
Coffee
文档
项目
分享
反馈
俱乐部
登录
注册
render 路径不经过src/main?
whjjjjjj
2019-11-20 14:32
最简单的一个render跳转, 但是他找这个html 没有经过 项目/src/main/webapp下 而是 直接项目/login/login.html 这是为什么
项目:
JFinal
评论区
whjjjjjj
2019-11-20 14:33
是undertow运行的
回复
JFinal
2019-11-21 10:40
@whjjjjjj
注意文档中的 baseViewPath 、 viewPath 这两项配置:
1:如果不配置的话,viewPath 默认为空,指向的是 src/main/webapp
2:viewPath 由添加路由映射时提供: routes.add("/login", LoginController.class, "/login") 其中第三个参数 "/login" 就是 viewPath
render("login.html") 最终的参数值是:baseViewPath + viewPath + "login.html"
如果你在 render 的时候,参数以 "/" 打头的话,会忽略 baseViewPath 以及 viewPath
这里有详细的文档:
https://www.jfinal.com/doc/3-7
只要用上几次,就很容易理解
回复
whjjjjjj
2019-11-21 10:55
@JFinal
这个用法我肯定知道,举个例子吧,就是viewPath 和baseViewPath 都为空 ,那他理应在src/main/webapp下找login.html 但是他没有 他在项目的根目录下找html
回复
JFinal
2019-11-21 11:08
@whjjjjjj
看到你是用的 undertow , 很可能是你配置了 ertow.resourcePath,这个配置中的第一个有效值会被设定为默认的 baseViewPath
一般建议的配置是:
undertow.resourcePath = src/main/webapp, 其它配置在此用逗号分隔
注意上面的配置,让 src/main/webapp 放在最前面,最前面的将会成为 baseViewPath 以及 PathKit.getWebRootPath() 值
文档中详细介绍了这个配置,也介绍了这个值将影响 PathKit.getWebRootPath() 值,进而影响 configEngine 中的 Engine me 对象的 baseTemplatePath:
https://www.jfinal.com/doc/1-4
回复
发送
我要反馈
热门反馈
扫码入社