FreeMarker template error: The following has evaluated to null or missing: ==> [in template "component://snj2/template/catalog/ProductDetail.ftl" at line 389, column 19] ---- Tip: It's the step after the last dot that caused this error, not those before it. ---- Tip: If the failing expression is known to be 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</#if>. (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: #if (product.originalImageUrl?string?... [in template "component://snj2/template/catalog/ProductDetail.ftl" at line 389, column 13] ---- 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.UnexpectedTypeException.newDesciptionBuilder(UnexpectedTypeException.java:80) at freemarker.core.UnexpectedTypeException.<init>(UnexpectedTypeException.java:43) at freemarker.core.BuiltInsForMultipleTypes$stringBI._eval(BuiltInsForMultipleTypes.java:709) at freemarker.core.Expression.eval(Expression.java:81) at freemarker.core.ExistenceBuiltins$ExistenceBuiltIn.evalMaybeNonexistentTarget(ExistenceBuiltins.java:52) at freemarker.core.ExistenceBuiltins$has_contentBI._eval(ExistenceBuiltins.java:112) at freemarker.core.ExistenceBuiltins$has_contentBI.evalToBoolean(ExistenceBuiltins.java:119) at freemarker.core.AndExpression.evalToBoolean(AndExpression.java:36) at freemarker.core.ParentheticalExpression.evalToBoolean(ParentheticalExpression.java:35) at freemarker.core.IfBlock.accept(IfBlock.java:49) at freemarker.core.Environment.visit(Environment.java:326) at freemarker.core.Environment.visit(Environment.java:332) at freemarker.core.Environment.visit(Environment.java:332) at freemarker.core.Environment.process(Environment.java:305) at org.apache.ofbiz.base.util.template.FreeMarkerWorker.renderTemplate(FreeMarkerWorker.java:263) at org.apache.ofbiz.widget.model.HtmlWidget.renderHtmlTemplate(HtmlWidget.java:167) at org.apache.ofbiz.widget.model.HtmlWidget$HtmlTemplate.renderWidgetString(HtmlWidget.java:216) at org.apache.ofbiz.widget.model.HtmlWidget.renderWidgetString(HtmlWidget.java:140) at org.apache.ofbiz.widget.model.ModelScreenWidget$PlatformSpecific.renderWidgetString(ModelScreenWidget.java:1321) at org.apache.ofbiz.widget.model.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:98) at org.apache.ofbiz.widget.model.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:280) at org.apache.ofbiz.widget.model.ModelScreen.renderScreenString(ModelScreen.java:164) at org.apache.ofbiz.widget.model.ScreenFactory.renderReferencedScreen(ScreenFactory.java:214) at org.apache.ofbiz.widget.model.ModelScreenWidget$IncludeScreen.renderWidgetString(ModelScreenWidget.java:780) at org.apache.ofbiz.widget.model.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:98) at org.apache.ofbiz.widget.model.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:280) at org.apache.ofbiz.widget.model.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:98) at org.apache.ofbiz.widget.model.ModelScreenWidget$DecoratorSection.renderWidgetString(ModelScreenWidget.java:906) at org.apache.ofbiz.widget.model.ModelScreenWidget$SectionsRenderer.render(ModelScreenWidget.java:127) at org.apache.ofbiz.widget.model.ModelScreenWidget$DecoratorSectionInclude.renderWidgetString(ModelScreenWidget.java:943) at org.apache.ofbiz.widget.model.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:98) at org.apache.ofbiz.widget.model.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:280) at org.apache.ofbiz.widget.model.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:98) at org.apache.ofbiz.widget.model.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:280) at org.apache.ofbiz.widget.model.ModelScreen.renderScreenString(ModelScreen.java:164) at org.apache.ofbiz.widget.model.ScreenFactory.renderReferencedScreen(ScreenFactory.java:214) at org.apache.ofbiz.widget.model.ModelScreenWidget$DecoratorScreen.renderWidgetString(ModelScreenWidget.java:860) at org.apache.ofbiz.widget.model.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:98) at org.apache.ofbiz.widget.model.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:280) at org.apache.ofbiz.widget.model.ModelScreen.renderScreenString(ModelScreen.java:164) at org.apache.ofbiz.widget.renderer.ScreenRenderer.render(ScreenRenderer.java:136) at org.apache.ofbiz.widget.renderer.ScreenRenderer.render(ScreenRenderer.java:98) at org.apache.ofbiz.widget.renderer.macro.MacroScreenViewHandler.render(MacroScreenViewHandler.java:157) at org.apache.ofbiz.webapp.control.RequestHandler.renderView(RequestHandler.java:1001) at org.apache.ofbiz.webapp.control.RequestHandler.doRequest(RequestHandler.java:653) at org.apache.ofbiz.webapp.control.ControlServlet.doGet(ControlServlet.java:213) at javax.servlet.http.HttpServlet.service(HttpServlet.java:687) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:720) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:466) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:391) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:318) at org.apache.ofbiz.product.category.CatalogUrlServlet.doGet(CatalogUrlServlet.java:153) at javax.servlet.http.HttpServlet.service(HttpServlet.java:687) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.apache.ofbiz.webapp.control.ContextFilter.doFilter(ContextFilter.java:324) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.apache.ofbiz.content.content.ContentUrlFilter.doFilter(ContentUrlFilter.java:99) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.apache.ofbiz.product.category.CatalogUrlFilter.doFilter(CatalogUrlFilter.java:338) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:528) at org.apache.coyote.ajp.AbstractAjpProcessor.process(AbstractAjpProcessor.java:873) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:670) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748)
click to view more

The Penguin historical atlas of ancient civilizations

by John Haywood

From $15.42

List Price: $24.00
Save: $8.58 (35%)
Regular edition - Price 21.58
please, order between 1 and 99.
  • In Stock soon, order now to reserve your copy.
  • FREE DELIVERY
  • 24/24 Online
  • Yes High Speed
  • Yes Protection
Last update:

Description

This new historical atlas - richly illustrated with photographs, artwork recreations and full-colour maps - explores the world's earliest civilisations from the first farming settlements of Mesopotamia, via Egypt, Greece and Rome, to the civilisations of the Far East, Europe and America. Informatively written, and ideal for both students and the general reader, it plots the rise and fall of empires, the nature of different societies and the evolution of technology.

Last updated on

Product Details

  • Penguin Books Brand
  • 9780141014487 ISBN-13:
  • 0141014482 ISBN-10:
  • 0141014482 ISBN-10
  • 9780141014487 ISBN-13
  • New Condition
  • Hardback Media
  • 5 business days Generally Ships in
  • 7.1 in * 0.3 in * 9.7 in Dimensions:
  • 1 lb Weight: