<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Accessing HttpServletRequest from inside freemarker template in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/accessing-httpservletrequest-from-inside-freemarker-template/m-p/189710#M142840</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Currently I managed to find my way out, that is to pass my custom model to the template &lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;&amp;lt;r:template template="/alfresco/templates/mydashlet.html.ftl" model="#{mycustom.templateModel}"/&amp;gt;&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;Inside my custom model, I retrieve the session id value and store it in the map (e.g. sessionId), then in my ftl file I access the sessionId.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Anybody else know a better way to access the current session id in the template?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;santoso&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sun, 23 Nov 2008 17:55:02 GMT</pubDate>
    <dc:creator>santoso_n</dc:creator>
    <dc:date>2008-11-23T17:55:02Z</dc:date>
    <item>
      <title>Accessing HttpServletRequest from inside freemarker template</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/accessing-httpservletrequest-from-inside-freemarker-template/m-p/189709#M142839</link>
      <description>Hi all,I'm developing a custom dashlet and I need to access the current session Id, to do that I need to access HttpServletRequest.Anybody know how to access it from inside freemarker template?in JSF, I might try to access the session id using #{facesContext.externalContext.request.requestedSessionI</description>
      <pubDate>Sun, 23 Nov 2008 15:46:00 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/accessing-httpservletrequest-from-inside-freemarker-template/m-p/189709#M142839</guid>
      <dc:creator>santoso_n</dc:creator>
      <dc:date>2008-11-23T15:46:00Z</dc:date>
    </item>
    <item>
      <title>Re: Accessing HttpServletRequest from inside freemarker template</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/accessing-httpservletrequest-from-inside-freemarker-template/m-p/189710#M142840</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Currently I managed to find my way out, that is to pass my custom model to the template &lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;&amp;lt;r:template template="/alfresco/templates/mydashlet.html.ftl" model="#{mycustom.templateModel}"/&amp;gt;&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;Inside my custom model, I retrieve the session id value and store it in the map (e.g. sessionId), then in my ftl file I access the sessionId.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Anybody else know a better way to access the current session id in the template?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;santoso&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 23 Nov 2008 17:55:02 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/accessing-httpservletrequest-from-inside-freemarker-template/m-p/189710#M142840</guid>
      <dc:creator>santoso_n</dc:creator>
      <dc:date>2008-11-23T17:55:02Z</dc:date>
    </item>
    <item>
      <title>Re: Accessing HttpServletRequest from inside freemarker template</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/accessing-httpservletrequest-from-inside-freemarker-template/m-p/189711#M142841</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Your solution has a lot going for it.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If you are following the MVC pattern (which is a good idea) then freemarker is the view tier and should not contain control logic.&amp;nbsp;&amp;nbsp; This becomes clear when you consider cases where when you want to have different representations of your model,&amp;nbsp; lets say for example you want a version of your custom dashlet that renders xml rather than html or has other view tier features.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 24 Nov 2008 10:37:21 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/accessing-httpservletrequest-from-inside-freemarker-template/m-p/189711#M142841</guid>
      <dc:creator>mrogers</dc:creator>
      <dc:date>2008-11-24T10:37:21Z</dc:date>
    </item>
    <item>
      <title>Re: Accessing HttpServletRequest from inside freemarker template</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/accessing-httpservletrequest-from-inside-freemarker-template/m-p/189712#M142842</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Actually there is no control logic in my freemarker template, maybe I'm not stating it clearly. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I just need to pass the session id to another application which in turn will call my webscript later.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Could you explain more on having a different presentation for my model that might fit my need?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 24 Nov 2008 14:02:49 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/accessing-httpservletrequest-from-inside-freemarker-template/m-p/189712#M142842</guid>
      <dc:creator>santoso_n</dc:creator>
      <dc:date>2008-11-24T14:02:49Z</dc:date>
    </item>
    <item>
      <title>Re: Accessing HttpServletRequest from inside freemarker template</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/accessing-httpservletrequest-from-inside-freemarker-template/m-p/189713#M142843</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Hi all,&lt;BR /&gt;&lt;BR /&gt;I'm developing a custom dashlet and I need to access the current session Id, to do that I need to access HttpServletRequest.&lt;BR /&gt;&lt;BR /&gt;Anybody know how to access it from inside freemarker template?&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt;How about creating a TemplateProcessorExtension? say:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;${santoso.sessionId}&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 26 Nov 2008 14:50:23 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/accessing-httpservletrequest-from-inside-freemarker-template/m-p/189713#M142843</guid>
      <dc:creator>t_broyer</dc:creator>
      <dc:date>2008-11-26T14:50:23Z</dc:date>
    </item>
    <item>
      <title>Re: Accessing HttpServletRequest from inside freemarker template</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/accessing-httpservletrequest-from-inside-freemarker-template/m-p/189714#M142844</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks, TemplateProcessorExtension seems to be a great idea. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;However I couldn't find the documentation of it, could you pass me the link to the documentation?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 26 Nov 2008 16:32:10 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/accessing-httpservletrequest-from-inside-freemarker-template/m-p/189714#M142844</guid>
      <dc:creator>santoso_n</dc:creator>
      <dc:date>2008-11-26T16:32:10Z</dc:date>
    </item>
    <item>
      <title>Re: Accessing HttpServletRequest from inside freemarker template</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/accessing-httpservletrequest-from-inside-freemarker-template/m-p/189715#M142845</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Thanks, TemplateProcessorExtension seems to be a great idea. &lt;BR /&gt;However I couldn't find the documentation of it, could you pass me the link to the documentation?&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt;I cannot find any doc on the wiki (I thought there was but am unable to find it back), so…&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here's the JavaDoc:&lt;/SPAN&gt;&lt;BR /&gt;&lt;A href="http://dev.alfresco.com/resource/docs/java/repository/org/alfresco/service/cmr/repository/TemplateProcessorExtension.html" rel="nofollow noopener noreferrer"&gt;http://dev.alfresco.com/resource/docs/java/repository/org/alfresco/service/cmr/repository/TemplateProcessorExtension.html&lt;/A&gt;&lt;BR /&gt;&lt;A href="http://dev.alfresco.com/resource/docs/java/repository/org/alfresco/repo/template/BaseTemplateProcessorExtension.html" rel="nofollow noopener noreferrer"&gt;http://dev.alfresco.com/resource/docs/java/repository/org/alfresco/repo/template/BaseTemplateProcessorExtension.html&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Inherit the BaseTemplateProcessorExtension and configure a bean in a Spring context file. For examples or such configuration, search for one of the classes inheriting BaseTemplateProcessorExtension (DateCompareMethod or Session for example) in the WEB-INF/classes/alfresco/*-context.xml.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;For an example of how to code such an extension, search for the same classes' source code in the Alfresco SDK or the public SVN.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Nov 2008 14:23:32 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/accessing-httpservletrequest-from-inside-freemarker-template/m-p/189715#M142845</guid>
      <dc:creator>t_broyer</dc:creator>
      <dc:date>2008-11-27T14:23:32Z</dc:date>
    </item>
    <item>
      <title>Re: Accessing HttpServletRequest from inside freemarker template</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/accessing-httpservletrequest-from-inside-freemarker-template/m-p/189716#M142846</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks a lot for the info, I will try it &lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://connect.hyland.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt;&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Nov 2008 17:05:10 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/accessing-httpservletrequest-from-inside-freemarker-template/m-p/189716#M142846</guid>
      <dc:creator>santoso_n</dc:creator>
      <dc:date>2008-11-27T17:05:10Z</dc:date>
    </item>
    <item>
      <title>Re: Accessing HttpServletRequest from inside freemarker template</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/accessing-httpservletrequest-from-inside-freemarker-template/m-p/189717#M142847</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I just had the same requirement of adding additional functionality to freemarker templates by adding a new root element.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Using this Forum and the &lt;/SPAN&gt;&lt;A href="http://wiki.alfresco.com/wiki/Template_Guide#Custom_Root_Objects" rel="nofollow noopener noreferrer"&gt;template guide wiki page&lt;/A&gt;&lt;SPAN&gt;, section custom root objects, this worked out fine.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In short what I did to have a new root objects with custom functionality in freemarker, with some example code:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;1) Create a java class that extends BaseTemplateProcessorExtension and defines the methods I want to access from freemarker templates&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;public class BibtexTemplate extends BaseTemplateProcessorExtension&lt;BR /&gt;{&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;private BibtexService bibtexService;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;public String NodeToBibtexString(String nodeId)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;StoreRef storeRef = new StoreRef("workspace://SpacesStore");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NodeRef nodeRef = new NodeRef(storeRef, nodeId);&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BibtexEntry entry = bibtexService.NodeToBibtex(nodeRef);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return BibtexUtil.BibtexToString(entry);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;public void setBibtexService(BibtexService bibtexService)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.bibtexService = bibtexService;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;}&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;SPAN&gt;2) Spring configuration (file "[whatever-you-like]-context.xml")&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;&amp;lt;bean id="bibtexTemplateExtension" parent="baseTemplateImplementation" class="com.matrixware.irss.bibtex.BibtexTemplate"&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="extensionName"&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;value&amp;gt;bibtexTempl&amp;lt;/value&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/property&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="bibtexService"&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;ref bean ="BibtexService"/&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/property&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;/bean&amp;gt;&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;SPAN&gt;3) Use the new root object in freemarker template&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;&amp;lt;#list rows as row&amp;gt;&lt;BR /&gt;${bibtexTempl.NodeToBibtexString(row.nodeId)}&lt;BR /&gt;&amp;lt;/#list&amp;gt;&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 22 Jun 2009 14:36:03 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/accessing-httpservletrequest-from-inside-freemarker-template/m-p/189717#M142847</guid>
      <dc:creator>veronika_zenz</dc:creator>
      <dc:date>2009-06-22T14:36:03Z</dc:date>
    </item>
  </channel>
</rss>

