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

Matchmakers: The New Economics of Multisided Platforms

by Schmalensee, Richard

From $28.86

List Price: $35.00
Save: $6.14 (17%)
Regular edition - Price 15.45
please, order between 1 and 99.
  • Only 1 left in Stock - order soon.
  • FREE DELIVERY by Tuesday, May 06, 2025
  • 24/24 Online
  • Yes High Speed
  • Yes Protection
Last update:

Description

Many of the most dynamic public companies, from Alibaba to Facebook to Visa, and the most valuable start-ups, such as Airbnb and Uber, are matchmakers that connect one group of customers with another group of customers. Economists call matchmakers multisided platforms because they provide physical or virtual platforms for multiple groups to get together. Dating sites connect people with potential matches, for example, and ride-sharing apps do the same for drivers and riders. Although matchmakers have been around for millennia, they’re becoming more and more popular—and profitable—due to dramatic advances in technology, and a lot of companies that have managed to crack the code of this business model have become today’s power brokers. Don’t let the flashy successes fool you, though. Starting a matchmaker is one of the toughest business challenges, and almost everyone who tries to build one, fails. In Matchmakers, David Evans and Richard Schmalensee, two economists who were among the first to analyze multisided platforms and discover their principles, and who’ve consulted for some of the most successful platform businesses in the world, explain how matchmakers work best in practice, why they do what they do, and how entrepreneurs can improve their chances for success. Whether you’re an entrepreneur, an investor, a consumer, or an executive, your future will involve more and more multisided platforms, and Matchmakers—rich with stories from platform winners and losers—is the one book you’ll need in order to navigate this appealing but confusing world.

Last updated on

Product Details

  • Harvard Business Review P Brand
  • 9781633691728 ISBN-13:
  • 1633691721 ISBN-10:
  • 1633691721 ISBN-10
  • 9781633691728 ISBN-13
  • New Condition
  • Hardback Media
  • 5 business days Generally Ships in
  • 6.4 in * 1 in * 9.3 in Dimensions:
  • 1 lb Weight: