Controller.renderToString方法

com.jfinal.core.Controller中的public String renderToString(String template, Map data)方法,要传入data, 能否增加一个默认不传data的方法?在自己的controller中调用,默认自动获取所有set的参数呢?

Map attrs = new HashMap();
Enumeratione = this.getAttrNames();        
while(e.hasMoreElements()){
    String attrName = e.nextElement();
    attrs.put(attrName, this.getAttr(attrName));
}        
String html = renderToString("common.html", attrs);//得到模板渲染后的html
//对html做额外处理。。。
renderHtml(html);//输出html

或者JFinal里面能有什么现成的简捷的方法能达到上面的目的呢?谢谢啦 !

评论区

JFinal

2022-04-13 00:54

在 BaseController 中封装一个 getAttrs() 方法返回所需数据,然后这样用:
String html = renderToString("common.html", getAttrs());//得到模板渲染后的html
//对html做额外处理。。。
renderHtml(html);//输出html

yiditushe

2022-04-13 07:32

谢谢波总