如何实现在render完成后执行一些必要的操作

jfinal3.0,需要在render完成以后,执行一些必要的操作

比如计算页面渲染时间、清除某些ThreadLocal等

但在控制层Interceptor中无法拦截到render的状态

请教如何实现 @jfinal

评论区

JFinal

2017-04-12 17:45

实现方式极其简单,假定你使用的是 jfinal template engine,通过如下几步:
1:创建自定义 MyRender
public class MyRender extends TemplateRender {
public void render() {
// 这里插入想要的代码
super.render();
// 这里插件想要的代码
}
}

2:创建 MyRenderFactory
public class MyRenderFactory extends RenderFactory {
public Render getRender(String view) {
return new MyRender(view);
}
}

3:切换为自己的
me.setRenderFactory(new MyRenderFactory())

你还可以在第二步中 try catch, 做些异常处理

netwild

2017-04-12 17:50

@JFinal 明白了,感谢詹总!

热门反馈

扫码入社