FreeMarker template error:
The following has evaluated to null or missing: ==> address [in template "shop/rent/detail/" at line 14, column 108] ---- Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ----

----
FTL stack trace ("~" means nesting-related):
- Failed at: ${address} [in template "shop/rent/detail/" at line 14, column 106] - Reached through: @block name="content" [in template "_site" at line 313, column 5] - Reached through: @extends name="/_site" [in template "shop/rent/detail/" at line 35, column 1] ----

Java stack trace (for programmers):
----
freemarker.core.InvalidReferenceException: [... Exception message was already printed; see it above ...]
at freemarker.core.InvalidReferenceException.getInstance(InvalidReferenceException.java:134)
at freemarker.core.EvalUtil.coerceModelToTextualCommon(EvalUtil.java:481)
at freemarker.core.EvalUtil.coerceModelToStringOrMarkup(EvalUtil.java:401)
at freemarker.core.EvalUtil.coerceModelToStringOrMarkup(EvalUtil.java:370)
at freemarker.core.DollarVariable.calculateInterpolatedStringOrMarkup(DollarVariable.java:104)
at freemarker.core.DollarVariable.accept(DollarVariable.java:63)
at freemarker.core.Environment.visit(Environment.java:371)
at freemarker.core.Environment$NestedElementTemplateDirectiveBody.render(Environment.java:3423)
at cn.org.rapid_framework.freemarker.directive.OverrideDirective$TemplateDirectiveBodyOverrideWraper.render(OverrideDirective.java:54)
at cn.org.rapid_framework.freemarker.directive.BlockDirective.execute(BlockDirective.java:30)
at freemarker.core.Environment.visit(Environment.java:452)
at freemarker.core.UnifiedCall.accept(UnifiedCall.java:102)
at freemarker.core.Environment.visit(Environment.java:335)
at freemarker.core.Environment.visit(Environment.java:341)
at freemarker.core.Environment.include(Environment.java:3104)
at freemarker.core.Environment.include(Environment.java:3015)
at cn.org.rapid_framework.freemarker.directive.ExtendsDirective.execute(ExtendsDirective.java:27)
at freemarker.core.Environment.visit(Environment.java:452)
at freemarker.core.UnifiedCall.accept(UnifiedCall.java:102)
at freemarker.core.Environment.visit(Environment.java:335)
at freemarker.core.Environment.visit(Environment.java:341)
at freemarker.core.Environment.process(Environment.java:314)
at freemarker.template.Template.process(Template.java:383)
at com.tuweisoft.xroom.vertxstart.cms.CmsRouteHandler.processTemplatePageItem(CmsRouteHandler.java:317)
at com.tuweisoft.xroom.vertxstart.cms.CmsRouteHandler.processGetHanlder(CmsRouteHandler.java:183)
at com.tuweisoft.xroom.vertxstart.cms.CmsRouteHandler.handle(CmsRouteHandler.java:89)
at com.tuweisoft.xroom.vertxstart.cms.CmsRouteHandler.handle(CmsRouteHandler.java:40)
at io.vertx.ext.web.impl.RouteState.handleContext(RouteState.java:1284)
at io.vertx.ext.web.impl.RoutingContextImplBase.iterateNext(RoutingContextImplBase.java:177)
at io.vertx.ext.web.impl.RoutingContextImpl.next(RoutingContextImpl.java:141)
at io.vertx.ext.web.impl.RouterImpl.handle(RouterImpl.java:68)
at io.vertx.ext.web.impl.RouterImpl.handle(RouterImpl.java:37)
at io.vertx.core.http.impl.Http1xServerRequestHandler.handle(Http1xServerRequestHandler.java:67)
at io.vertx.core.http.impl.Http1xServerRequestHandler.handle(Http1xServerRequestHandler.java:30)
at io.vertx.core.impl.ContextInternal.dispatch(ContextInternal.java:264)
at io.vertx.core.impl.WorkerContext.lambda$emit$0(WorkerContext.java:59)
at io.vertx.core.impl.WorkerContext.lambda$execute$4(WorkerContext.java:121)
at io.vertx.core.impl.TaskQueue.run(TaskQueue.java:76)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.lang.Thread.run(Thread.java:748)