Dear all Currently I'm reading "apache ofbiz development the beginner's tutorial". I installed ofbiz 4.0 as required by the book and I had problem at the section "Cleaning Up in the "party" Component". To be hornest, I did exactly as same as the book guided as follow, but the error still there, Please help me to solve this problem. I'm really really stuck and need your help. I attached related files for your reference. If you need other info, please let me know.
The Book guide:
---------------------------------------
Cleaning Up in the "party" Component
We take the opportunity here to clean up the mess we made in the party component
in Chapter 2. Edit ${component:learning}\widget\partymgr\OurPartyScreens.
xml and insert a new screen widget:
<screen name="editcontactmech.extend">
<section>
<widgets>
<platform-specific><html>
<html-templatelocation="component://learning/webapp/
partymgr/party/editcontactmech.extend.ftl"/>
</html></platform-specific>
</widgets>
</section>
</screen>
In the folder ${component:learning}\webapp\partymgr\party, create a new file
editcontactmech.extend.ftl. Enter into the file this:
<tr>
<td class="label">Planetoo</td>
<td>
<input type="text" size="30" maxlength="100"
name="planet" value="${(mechMap.postalAddress.planet)!""}">
</td>
</tr>
Edit the file ${webapp:partymgr}\party\editcontactmech.ftl, go to line 166
and replace:
<tr>
<td class="label">Planet</td>
<td>
<input type="text" size="30" maxlength="100"
name="planet" value="${(mechMap.postalAddress.planet)!""}">
</td>
</tr>
with:
${screens.render("component://learning/widget/partymgr/OurPartyScreens.xml#editcontactmech.extend")}
-----------------------------
However, when I fired an http request to webapp partymgr, log in, find a
party with the last name of Researcher, and first name OFBiz, then
I opened the update screen for the party's postal address to see the field
Planet with a misspelled label of Planetoo.
below error occurred:
Method public java.lang.String
org.ofbiz.widget.screen.ScreenRenderer.render(java.lang.String) throws
org.ofbiz.base.util.GeneralException,java.io.IOException,org.xml.sax.SAXException,javax.xml.parsers.ParserConfigurationException
threw an exception when invoked on
org.ofbiz.widget.screen.ScreenRenderer@556949 The problematic instruction:
---------- ==>
${screens.render("component://learning/widget/partymgr/OurPartyScreens.xml#editcontactmech.extend")}
[on line 167, column 1 in
component://party/webapp/partymgr/party/editcontactmech.ftl] ---------- Java
backtrace for programmers: ----------
freemarker.template.TemplateModelException: Method public java.lang.String
org.ofbiz.widget.screen.ScreenRenderer.render(java.lang.String) throws
org.ofbiz.base.util.GeneralException,java.io.IOException,org.xml.sax.SAXException,javax.xml.parsers.ParserConfigurationException
threw an exception when invoked on
org.ofbiz.widget.screen.ScreenRenderer@556949 at
freemarker.ext.beans.OverloadedMethodModel.exec(OverloadedMethodModel.java:134)
at freemarker.core.MethodCall._getAsTemplateModel(MethodCall.java:93) at
freemarker.core.Expression.getAsTemplateModel(Expression.java:89) at
freemarker.core.Expression.getStringValue(Expression.java:93) at
freemarker.core.DollarVariable.accept(DollarVariable.java:76) at
freemarker.core.Environment.visit(Environment.java:196) at
freemarker.core.MixedContent.accept(MixedContent.java:92) at
freemarker.core.Environment.visit(Environment.java:196) at
freemarker.core.IfBlock.accept(IfBlock.java:82) at
freemarker.core.Environment.visit(Environment.java:196) at
freemarker.core.MixedContent.accept(MixedContent.java:92) at
freemarker.core.Environment.visit(Environment.java:196) at
freemarker.core.IfBlock.accept(IfBlock.java:82) at
freemarker.core.Environment.visit(Environment.java:196) at
freemarker.core.MixedContent.accept(MixedContent.java:92) at
freemarker.core.Environment.visit(Environment.java:196) at
freemarker.core.Environment.process(Environment.java:176) at
org.ofbiz.base.util.template.FreeMarkerWorker.renderTemplate(FreeMarkerWorker.java:179)
at
org.ofbiz.base.util.template.FreeMarkerWorker.renderTemplate(FreeMarkerWorker.java:161)
at
org.ofbiz.base.util.template.FreeMarkerWorker.renderTemplateAtLocation(FreeMarkerWorker.java:138)
at org.ofbiz.widget.screen.HtmlWidget.renderHtmlTemplate(HtmlWidget.java:82)
at
org.ofbiz.widget.screen.HtmlWidget$HtmlTemplate.renderWidgetString(HtmlWidget.java:110)
at org.ofbiz.widget.screen.HtmlWidget.renderWidgetString(HtmlWidget.java:65)
at
org.ofbiz.widget.screen.ModelScreenWidget$PlatformSpecific.renderWidgetString(ModelScreenWidget.java:806)
at
org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:151)
at
org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:244)
at
org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:151)
at
org.ofbiz.widget.screen.ModelScreenWidget$DecoratorSection.renderWidgetString(ModelScreenWidget.java:521)
at
org.ofbiz.widget.screen.ModelScreenWidget$SectionsRenderer.render(ModelScreenWidget.java:183)
at
org.ofbiz.widget.screen.ModelScreenWidget$DecoratorSectionInclude.renderWidgetString(ModelScreenWidget.java:553)
at
org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:151)
at
org.ofbiz.widget.screen.ModelScreenWidget$Container.renderWidgetString(ModelScreenWidget.java:299)
at
org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:151)
at
org.ofbiz.widget.screen.ModelScreenWidget$Container.renderWidgetString(ModelScreenWidget.java:299)
at
org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:151)
at
org.ofbiz.widget.screen.ModelScreenWidget$Container.renderWidgetString(ModelScreenWidget.java:299)
at
org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:151)
at
org.ofbiz.widget.screen.ModelScreenWidget$Container.renderWidgetString(ModelScreenWidget.java:299)
at
org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:151)
at
org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:244)
at
org.ofbiz.widget.screen.ModelScreen.renderScreenString(ModelScreen.java:134) at
org.ofbiz.widget.screen.ModelScreenWidget$IncludeScreen.renderWidgetString(ModelScreenWidget.java:394)
at
org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:151)
at
org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:244)
at
org.ofbiz.widget.screen.ModelScreen.renderScreenString(ModelScreen.java:134) at
org.ofbiz.widget.screen.ModelScreenWidget$DecoratorScreen.renderWidgetString(ModelScreenWidget.java:489)
at
org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:151)
at
org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:244)
at
org.ofbiz.widget.screen.ModelScreen.renderScreenString(ModelScreen.java:134) at
org.ofbiz.widget.screen.ScreenRenderer.render(ScreenRenderer.java:105) at
org.ofbiz.widget.screen.ScreenRenderer.render(ScreenRenderer.java:90) at
org.ofbiz.widget.screen.ScreenWidgetViewHandler.render(ScreenWidgetViewHandler.java:78)
at org.ofbiz.webapp.control.RequestHandler.renderView(RequestHandler.java:643)
at org.ofbiz.webapp.control.RequestHandler.doRequest(RequestHandler.java:427)
at org.ofbiz.webapp.control.ControlServlet.doGet(ControlServlet.java:189) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:595) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:688) at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.ofbiz.webapp.control.ContextFilter.doFilter(ContextFilter.java:248) at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:541)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:662) Caused by:
org.xml.sax.SAXParseException: Element type "html-templatelocation" must be
followed by either attribute specifications, ">" or "/>". at
org.apache.xerces.parsers.DOMParser.parse(Unknown Source) at
org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source) at
javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:124) at
org.ofbiz.base.util.UtilXml.readXmlDocument(UtilXml.java:240) at
org.ofbiz.base.util.UtilXml.readXmlDocument(UtilXml.java:179) at
org.ofbiz.widget.screen.ScreenFactory.getScreenFromLocation(ScreenFactory.java:114)
at org.ofbiz.widget.screen.ScreenRenderer.render(ScreenRenderer.java:104) at
org.ofbiz.widget.screen.ScreenRenderer.render(ScreenRenderer.java:90) at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597) at
freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:616) at
freemarker.ext.beans.OverloadedMethodModel.exec(OverloadedMethodModel.java:111)
... 74 more
:ERROR MESSAGE:
org.ofbiz.base.util.GeneralException: Error rendering screen
[component://party/widget/partymgr/PartyScreens.xml#editcontactmech]:
org.ofbiz.base.util.GeneralException: Error rendering screen
[component://party/widget/partymgr/CommonScreens.xml#main-decorator]:
org.ofbiz.base.util.GeneralException: Error rendering screen
[component://common/widget/CommonScreens.xml#GlobalDecorator]:
java.lang.RuntimeException: Error rendering included template at location
[component://party/webapp/partymgr/party/editcontactmech.ftl]:
freemarker.template.TemplateModelException: Method public java.lang.String
org.ofbiz.widget.screen.ScreenRenderer.render(java.lang.String) throws
org.ofbiz.base.util.GeneralException,java.io.IOException,org.xml.sax.SAXException,javax.xml.parsers.ParserConfigurationException
threw an exception when invoked on
org.ofbiz.widget.screen.ScreenRenderer@556949 (Error rendering included
template at location
[component://party/webapp/partymgr/party/editcontactmech.ftl]:
freemarker.template.TemplateModelException: Method public java.lang.String
org.ofbiz.widget.screen.ScreenRenderer.render(java.lang.String) throws
org.ofbiz.base.util.GeneralException,java.io.IOException,org.xml.sax.SAXException,javax.xml.parsers.ParserConfigurationException
threw an exception when invoked on
org.ofbiz.widget.screen.ScreenRenderer@556949) (Error rendering screen
[component://common/widget/CommonScreens.xml#GlobalDecorator]:
java.lang.RuntimeException: Error rendering included template at location
[component://party/webapp/partymgr/party/editcontactmech.ftl]:
freemarker.template.TemplateModelException: Method public java.lang.String
org.ofbiz.widget.screen.ScreenRenderer.render(java.lang.String) throws
org.ofbiz.base.util.GeneralException,java.io.IOException,org.xml.sax.SAXException,javax.xml.parsers.ParserConfigurationException
threw an exception when invoked on
org.ofbiz.widget.screen.ScreenRenderer@556949 (Error rendering included
template at location
[component://party/webapp/partymgr/party/editcontactmech.ftl]:
freemarker.template.TemplateModelException: Method public java.lang.String
org.ofbiz.widget.screen.ScreenRenderer.render(java.lang.String) throws
org.ofbiz.base.util.GeneralException,java.io.IOException,org.xml.sax.SAXException,javax.xml.parsers.ParserConfigurationException
threw an exception when invoked on
org.ofbiz.widget.screen.ScreenRenderer@556949)) (Error rendering screen
[component://party/widget/partymgr/CommonScreens.xml#main-decorator]:
org.ofbiz.base.util.GeneralException: Error rendering screen
[component://common/widget/CommonScreens.xml#GlobalDecorator]:
java.lang.RuntimeException: Error rendering included template at location
[component://party/webapp/partymgr/party/editcontactmech.ftl]:
freemarker.template.TemplateModelException: Method public java.lang.String
org.ofbiz.widget.screen.ScreenRenderer.render(java.lang.String) throws
org.ofbiz.base.util.GeneralException,java.io.IOException,org.xml.sax.SAXException,javax.xml.parsers.ParserConfigurationException
threw an exception when invoked on
org.ofbiz.widget.screen.ScreenRenderer@556949 (Error rendering included
template at location
[component://party/webapp/partymgr/party/editcontactmech.ftl]:
freemarker.template.TemplateModelException: Method public java.lang.String
org.ofbiz.widget.screen.ScreenRenderer.render(java.lang.String) throws
org.ofbiz.base.util.GeneralException,java.io.IOException,org.xml.sax.SAXException,javax.xml.parsers.ParserConfigurationException
threw an exception when invoked on
org.ofbiz.widget.screen.ScreenRenderer@556949) (Error rendering screen
[component://common/widget/CommonScreens.xml#GlobalDecorator]:
java.lang.RuntimeException: Error rendering included template at location
[component://party/webapp/partymgr/party/editcontactmech.ftl]:
freemarker.template.TemplateModelException: Method public java.lang.String
org.ofbiz.widget.screen.ScreenRenderer.render(java.lang.String) throws
org.ofbiz.base.util.GeneralException,java.io.IOException,org.xml.sax.SAXException,javax.xml.parsers.ParserConfigurationException
threw an exception when invoked on
org.ofbiz.widget.screen.ScreenRenderer@556949 (Error rendering included
template at location
[component://party/webapp/partymgr/party/editcontactmech.ftl]:
freemarker.template.TemplateModelException: Method public java.lang.String
org.ofbiz.widget.screen.ScreenRenderer.render(java.lang.String) throws
org.ofbiz.base.util.GeneralException,java.io.IOException,org.xml.sax.SAXException,javax.xml.parsers.ParserConfigurationException
threw an exception when invoked on
org.ofbiz.widget.screen.ScreenRenderer@556949)))
thanks and best regards,
OurPartyScreens.xml
Description: OurPartyScreens.xml
