<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <title>Liferay 7.2 CE GA1: comments in Asset Publisher Tpl without Alloy Editor</title>
  <link rel="self" href="https://liferay.dev/c/message_boards/find_thread?p_l_id=119785294&amp;threadId=118145474" />
  <subtitle>Liferay 7.2 CE GA1: comments in Asset Publisher Tpl without Alloy Editor</subtitle>
  <id>https://liferay.dev/c/message_boards/find_thread?p_l_id=119785294&amp;threadId=118145474</id>
  <updated>2026-04-07T05:27:23Z</updated>
  <dc:date>2026-04-07T05:27:23Z</dc:date>
  <entry>
    <title>Liferay 7.2 CE GA1: comments in Asset Publisher Tpl without Alloy Editor</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=118145473" />
    <author>
      <name>Alessandro Candini</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=118145473</id>
    <updated>2019-12-23T15:28:41Z</updated>
    <published>2019-12-23T15:28:41Z</published>
    <summary type="html">&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body&gt;I've followed &lt;a href="https://portal.liferay.dev/docs/7-0/tutorials/-/knowledge_base/t/adding-comments-to-your-app"&gt;this guide&lt;/a&gt; to get comments inside an Asset Publisher Template, adapting it from JSP to FreeMarker:&lt;br&gt;&lt;pre&gt;&lt;code&gt;
&amp;amp;lt;#assign discussionURL = renderResponse.createActionURL() /&amp;amp;gt;
${discussionURL.setParameter("javax.portlet.action", "invokeTaglibDiscussion")}
&amp;amp;lt;@liferay_comment["discussion"]
&amp;amp;nbsp; className=entry.getClassName()
&amp;amp;nbsp; classPK=entry.getClassPK()
&amp;amp;nbsp; formAction=discussionURL?string
&amp;amp;nbsp; formName="fm" + entry.getClassPK()?string
&amp;amp;nbsp; ratingsEnabled=false
&amp;amp;nbsp; redirect=currentURL
&amp;amp;nbsp; userId=entry.getUserId()
/&amp;amp;gt;&lt;/code&gt;&lt;/pre&gt;This creates a partial version of comments component: the problem is that &lt;strong&gt;the Alloy Editor to insert a comment is missing&lt;/strong&gt;!&lt;br&gt;Inside logs I can see that a NullPointerException is thrown:&lt;br&gt;&lt;pre&gt;&lt;code&gt;java.lang.NullPointerException
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at com.liferay.taglib.ui.InputEditorTag$LazyDataInvocationHandler.invoke(InputEditorTag.java:598)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.apache.jsp.alloyeditor_jsp._jspService(alloyeditor_jsp.java:219)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:111)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:411)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:473)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:377)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at com.liferay.portal.osgi.web.servlet.jsp.compiler.internal.JspServlet.service(JspServlet.java:319)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at com.liferay.portal.osgi.web.servlet.jsp.compiler.internal.JspServlet.service(JspServlet.java:330)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.eclipse.equinox.http.servlet.internal.registration.EndpointRegistration.service(EndpointRegistration.java:153)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.eclipse.equinox.http.servlet.internal.servlet.ResponseStateHandler.processRequest(ResponseStateHandler.java:62)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.eclipse.equinox.http.servlet.internal.context.DispatchTargets.doDispatch(DispatchTargets.java:120)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.eclipse.equinox.http.servlet.internal.servlet.RequestDispatcherAdaptor.include(RequestDispatcherAdaptor.java:48)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at com.liferay.portal.servlet.DirectServletPathRegisterDispatcher.include(DirectServletPathRegisterDispatcher.java:67)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at com.liferay.portal.servlet.DirectRequestDispatcherFactoryImpl$IndirectRequestDispatcher.include(DirectRequestDispatcherFactoryImpl.java:202)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at com.liferay.portal.servlet.ClassLoaderRequestDispatcherWrapper.doDispatch(ClassLoaderRequestDispatcherWrapper.java:79)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at com.liferay.portal.servlet.ClassLoaderRequestDispatcherWrapper.include(ClassLoaderRequestDispatcherWrapper.java:53)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at com.liferay.taglib.util.IncludeTag.includePage(IncludeTag.java:401)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at com.liferay.taglib.ui.InputEditorTag.includePage(InputEditorTag.java:459)
&lt;/code&gt;&lt;/pre&gt;Debugging a little bit, I found that the issue seems to be at line 26 of &lt;em&gt;modules/apps/frontend-editor/frontend-editor-alloyeditor-web/src/main/resources/META-INF/resources/alloyeditor.jsp&lt;/em&gt;:&lt;br&gt;&lt;pre&gt;&lt;code&gt;Map&amp;lt;string, object&amp;gt; data = (Map&amp;lt;string, object&amp;gt;)request.getAttribute(AlloyEditorConstants.ATTRIBUTE_NAMESPACE + ":data");
&amp;lt;/string,&amp;gt;&amp;lt;/string,&amp;gt;&lt;/code&gt;&lt;/pre&gt;I don't know if the problem is the assignment or casting to a Map but I cannot make a System.out.println() after that line.&lt;br&gt;Have you got any hint or workaround?&lt;br&gt;Thank you!&lt;br&gt;Edit: I've opened an &lt;a href="https://issues.liferay.com/browse/LPS-106311"&gt;issue for this topic&lt;/a&gt;.&lt;/body&gt;&lt;/html&gt;</summary>
    <dc:creator>Alessandro Candini</dc:creator>
    <dc:date>2019-12-23T15:28:41Z</dc:date>
  </entry>
</feed>
