请问在 nutz 的 fileter 里面实现的 match() 方法的返回值是 View
在这种情况下,我想用 beetl 的视图,应该如何写呢?
在 module 里是用 @Ok("beetl:..."),return 一个对象,beetl 就能用这个对象去写页面了
用的是 org.beetl.ext.nutz 的 BeetlView
8 回复
需要分2步
首先,在MainSetup的init,通过NutConfig实例,nc.getViewMakers()获取BeetlViewMaker,
然后将其存放到一个public static变量, 就可以用它来建BeetlView了 maker.maker(null, "beetl", "xxx/xxx/xxx")
或者BeetlViewMaker拿到WebRender实例, 也可以直接new BeetlView
麻烦再问下,如何把对象传给 BeetlView 呢?
就是 render() 的 obj,我不想放到 session
public void render(HttpServletRequest req, HttpServletResponse resp, Object obj) throws Throwable {
String child = evalPath(req, obj);
if (child == null) {
child = Mvcs.getActionContext().getPath();
}
if (obj != null && req.getAttribute("obj") == null)
req.setAttribute("obj", obj);
if (resp.getContentType() == null)
resp.setContentType("text/html");
render.render(child, req, new LazyResponseWrapper(resp));
}
添加回复
请先登陆