# 14.6 Others

The chained usage of Ret.put(...).put(...) needs to be changed to Ret.set(...).set(...), as Ret now inherits from HashMap. This is done to avoid conflicts with HashMap.put(...). Scenarios where Ret.get(...) returns a generic value should be changed to Ret.getAs(...).

The setFreeMarkerExtension and setVelocityExtension methods in the Constants parameter of configConstant(...) have been uniformly changed to use the setViewExtension method. setMainRenderFactory and setErrorRenderFactory have been replaced by setRenderFactory.

The renderXml(...) method, which used to rely on XmlRender implemented with Freemarker syntax, has been changed to be implemented by the JFinal Template Engine. Projects using renderXml(...) will need to modify their template content.

Official JFinal QQ Group: Search for the QQ group using the keyword "jfinal."

We strongly recommend joining the JFinal Club to get the source code for the JFinal best practices project, jfinal-club. This allows you to master the simplest usage in the fastest and easiest way, saving you the time of reading the documentation: http://www.jfinal.com/club

Last Updated: 9/22/2023, 7:59:19 AM