jfinal 从拦截器中获取 Routes的baseviewpath

官方提供的配置代码

可以直接在 configRoute(Routes me) 中调用

me.setClearAfterMapping(false) 方法。保留Routes

image.png

参考文档:

第一个参数controllerKey是指访问某个Controller所需要的一个字符串,该字符串唯一对应一个Controller,controllerKey仅能定位到Controller。第二个参数controllerClass是该controllerKey所对应到的Controller。第三个参数viewPath是指该Controller返回的视图的相对路径(该参数具体细节将在Controller相关章节中给出)。当viewPath未指定时默认值为controllerKey。

以下代码 仅适用于 viewPath未指定时默认值为controllerKey(I9LTG47F01]NTX~KOQ_JPC.png

评论区

JFinal

2019-01-10 11:47

baseViewPath 只存在配置阶段, jfinal 启动时,会将 baseViewPath 与 viewPath 进行拼接,无法通过简单手段去获取 baseViewPath

可以在拦截器中通过 inv.getViewPath() 获取拼接后的 viewPath

如果上面这个 viewPath 不是自己想要的,可以在 YourJFinalConfig 中将 Routes me 这个对象用 static 存起来,然后在别的地方使用

JFinal

2019-01-10 11:48

或许 inv.getViewPath() 就是你想要的值,该值是 baseViewPath + viewPath 形成的

zhangshiqiang

2019-01-10 13:03

@JFinal 刚看到了 , Routes 的 setClearAfterMapping 哈哈。