首页
App
&
Coffee
文档
项目
分享
反馈
俱乐部
登录
注册
viewpath 能动态改变吗?
可乐加冰
2018-03-07 16:00
能动态改变viewpath吗?比如通过拦截器。
背景:不同的角色登录后,render的html包路径不一样?vi
项目:
JFinal
评论区
JFinal
2018-03-07 16:09
viewPath 配置本身不能动态改变,但你在 render 时,或者 render 完成以后都可以再改变其中的 view 参数值
而 view 参数就包含了 viewPath,所以就相当于可以动态改变 viewPath,只是方式不同
回复
可乐加冰
2018-03-07 16:18
但是在拦截器中拿不到render对象,难道需要每次在controller的方法中改变view吗?这样有点麻烦了
回复
JFinal
2018-03-07 16:28
@可乐加冰
在拦截器中很容易拿啊:
inv.invoke();
Render render = inv.getController().getRender();
if (render instanceof TemplateRender) {
...
} else {
...
}
Render 对象中还有直接操作 view 的方法,极度容易
回复
可乐加冰
2018-03-07 19:43
@JFinal
明白了,谢谢
回复
JFinal
2018-03-07 20:02
@可乐加冰
你还可以通过扩展 RenderFactory, 接管里头的 getRender 方法,完全控制 view 这个变量的规则
回复
发送
我要反馈
热门反馈
扫码入社
而 view 参数就包含了 viewPath,所以就相当于可以动态改变 viewPath,只是方式不同