{"id":136,"date":"2009-07-16T19:23:30","date_gmt":"2009-07-16T13:53:30","guid":{"rendered":"https:\/\/2thenew.xyz\/blog\/?p=136"},"modified":"2009-07-17T11:49:19","modified_gmt":"2009-07-17T06:19:19","slug":"accessing-session-map-in-the-domain-or-service-layer","status":"publish","type":"post","link":"https:\/\/2thenew.xyz\/blog\/accessing-session-map-in-the-domain-or-service-layer\/","title":{"rendered":"Accessing Session Map in the Domain or Service Layer"},"content":{"rendered":"<p>The Session Map is available in Grails in the Views, TagLibs and the Controllers. That is, it can be directly accessed by the name &#8220;session&#8221;. If the Session Map is required to be accessed in the Service Layer or the Domain layer, such a straightforward approach will not work. In this case, a class which is a part of the Spring Framework can be used which gives the current context, the request attributes and the session.  This class along with HttpSession have to be imported by issuing the following statements.<\/p>\n<blockquote>\n<pre lang=\"groovy\">import org.springframework.web.context.request.RequestContextHolder<\/pre>\n<\/blockquote>\n<p>Now, the session variable can be defined in the Service class or Domain method as:<\/p>\n<blockquote>\n<pre lang=\"groovy\">def session = RequestContextHolder.currentRequestAttributes().getSession()<\/pre>\n<\/blockquote>\n<p>The session attributes can now be accessed as<\/p>\n<blockquote>\n<pre lang=\"groovy\">session.attribute<\/pre>\n<\/blockquote>\n<p>Hope this helps.<\/p>\n<p>S Vivek Krishna<\/p>\n<p>vivek@IntelliGrape.com<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The Session Map is available in Grails in the Views, TagLibs and the Controllers. That is, it can be directly accessed by the name &#8220;session&#8221;. If the Session Map is required to be accessed in the Service Layer or the Domain layer, such a straightforward approach will not work. In this case, a class which [&hellip;]<\/p>\n","protected":false},"author":10,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":43,"footnotes":""},"categories":[7],"tags":[4840,108,4841],"class_list":["post-136","post","type-post","status-publish","format-standard","hentry","category-grails","tag-grails","tag-session","tag-spring"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"The Session Map is available in Grails in the Views, TagLibs and the Controllers. That is, it can be directly accessed by the name &quot;session&quot;. If the Session Map is required to be accessed in the Service Layer or the Domain layer, such a straightforward approach will not work. In this case, a class which\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Vivek Krishna\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/2thenew.xyz\/blog\/accessing-session-map-in-the-domain-or-service-layer\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"TO THE NEW BLOG\" \/>\n\t\t<meta property=\"og:type\" content=\"blog\" \/>\n\t\t<meta property=\"og:title\" content=\"Accessing Session Map in the Domain or Service Layer | TO THE NEW Blog\" \/>\n\t\t<meta property=\"og:description\" content=\"The Session Map is available in Grails in the Views, TagLibs and the Controllers. That is, it can be directly accessed by the name &quot;session&quot;. If the Session Map is required to be accessed in the Service Layer or the Domain layer, such a straightforward approach will not work. In this case, a class which\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/2thenew.xyz\/blog\/accessing-session-map-in-the-domain-or-service-layer\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/2thenew.xyz\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/2thenew.xyz\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@tothenew\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Accessing Session Map in the Domain or Service Layer | TO THE NEW Blog\" \/>\n\t\t<meta name=\"twitter:description\" content=\"The Session Map is available in Grails in the Views, TagLibs and the Controllers. That is, it can be directly accessed by the name &quot;session&quot;. If the Session Map is required to be accessed in the Service Layer or the Domain layer, such a straightforward approach will not work. In this case, a class which\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/2thenew.xyz\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/accessing-session-map-in-the-domain-or-service-layer\\\/#article\",\"name\":\"Accessing Session Map in the Domain or Service Layer | TO THE NEW Blog\",\"headline\":\"Accessing Session Map in the Domain or Service Layer\",\"author\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/vivek\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\"},\"datePublished\":\"2009-07-16T19:23:30+05:30\",\"dateModified\":\"2009-07-17T11:49:19+05:30\",\"inLanguage\":\"en-US\",\"commentCount\":4,\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/accessing-session-map-in-the-domain-or-service-layer\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/accessing-session-map-in-the-domain-or-service-layer\\\/#webpage\"},\"articleSection\":\"Grails, Grails, HTTP session, Spring\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/accessing-session-map-in-the-domain-or-service-layer\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.tothenew.com\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/grails\\\/#listItem\",\"name\":\"Grails\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/grails\\\/#listItem\",\"position\":2,\"name\":\"Grails\",\"item\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/grails\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/accessing-session-map-in-the-domain-or-service-layer\\\/#listItem\",\"name\":\"Accessing Session Map in the Domain or Service Layer\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/accessing-session-map-in-the-domain-or-service-layer\\\/#listItem\",\"position\":3,\"name\":\"Accessing Session Map in the Domain or Service Layer\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/grails\\\/#listItem\",\"name\":\"Grails\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\",\"name\":\"TO THE NEW Blog\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/vivek\\\/#author\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/vivek\\\/\",\"name\":\"Vivek Krishna\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/accessing-session-map-in-the-domain-or-service-layer\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/07dba643a97b00215bacf46343f18d6cb7ab45f777264e13c22deb54f2cc830b?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Vivek Krishna\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/accessing-session-map-in-the-domain-or-service-layer\\\/#webpage\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/accessing-session-map-in-the-domain-or-service-layer\\\/\",\"name\":\"Accessing Session Map in the Domain or Service Layer | TO THE NEW Blog\",\"description\":\"The Session Map is available in Grails in the Views, TagLibs and the Controllers. That is, it can be directly accessed by the name \\\"session\\\". If the Session Map is required to be accessed in the Service Layer or the Domain layer, such a straightforward approach will not work. In this case, a class which\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/accessing-session-map-in-the-domain-or-service-layer\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/vivek\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/vivek\\\/#author\"},\"datePublished\":\"2009-07-16T19:23:30+05:30\",\"dateModified\":\"2009-07-17T11:49:19+05:30\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/\",\"name\":\"TO THE NEW Blog\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Accessing Session Map in the Domain or Service Layer | TO THE NEW Blog","description":"The Session Map is available in Grails in the Views, TagLibs and the Controllers. That is, it can be directly accessed by the name \"session\". If the Session Map is required to be accessed in the Service Layer or the Domain layer, such a straightforward approach will not work. In this case, a class which","canonical_url":"https:\/\/2thenew.xyz\/blog\/accessing-session-map-in-the-domain-or-service-layer\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/2thenew.xyz\/blog\/accessing-session-map-in-the-domain-or-service-layer\/#article","name":"Accessing Session Map in the Domain or Service Layer | TO THE NEW Blog","headline":"Accessing Session Map in the Domain or Service Layer","author":{"@id":"https:\/\/2thenew.xyz\/blog\/author\/vivek\/#author"},"publisher":{"@id":"https:\/\/2thenew.xyz\/blog\/#organization"},"datePublished":"2009-07-16T19:23:30+05:30","dateModified":"2009-07-17T11:49:19+05:30","inLanguage":"en-US","commentCount":4,"mainEntityOfPage":{"@id":"https:\/\/2thenew.xyz\/blog\/accessing-session-map-in-the-domain-or-service-layer\/#webpage"},"isPartOf":{"@id":"https:\/\/2thenew.xyz\/blog\/accessing-session-map-in-the-domain-or-service-layer\/#webpage"},"articleSection":"Grails, Grails, HTTP session, Spring"},{"@type":"BreadcrumbList","@id":"https:\/\/2thenew.xyz\/blog\/accessing-session-map-in-the-domain-or-service-layer\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/2thenew.xyz\/blog#listItem","position":1,"name":"Home","item":"https:\/\/2thenew.xyz\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/2thenew.xyz\/blog\/category\/grails\/#listItem","name":"Grails"}},{"@type":"ListItem","@id":"https:\/\/2thenew.xyz\/blog\/category\/grails\/#listItem","position":2,"name":"Grails","item":"https:\/\/2thenew.xyz\/blog\/category\/grails\/","nextItem":{"@type":"ListItem","@id":"https:\/\/2thenew.xyz\/blog\/accessing-session-map-in-the-domain-or-service-layer\/#listItem","name":"Accessing Session Map in the Domain or Service Layer"},"previousItem":{"@type":"ListItem","@id":"https:\/\/2thenew.xyz\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/2thenew.xyz\/blog\/accessing-session-map-in-the-domain-or-service-layer\/#listItem","position":3,"name":"Accessing Session Map in the Domain or Service Layer","previousItem":{"@type":"ListItem","@id":"https:\/\/2thenew.xyz\/blog\/category\/grails\/#listItem","name":"Grails"}}]},{"@type":"Organization","@id":"https:\/\/2thenew.xyz\/blog\/#organization","name":"TO THE NEW Blog","url":"https:\/\/2thenew.xyz\/blog\/"},{"@type":"Person","@id":"https:\/\/2thenew.xyz\/blog\/author\/vivek\/#author","url":"https:\/\/2thenew.xyz\/blog\/author\/vivek\/","name":"Vivek Krishna","image":{"@type":"ImageObject","@id":"https:\/\/2thenew.xyz\/blog\/accessing-session-map-in-the-domain-or-service-layer\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/07dba643a97b00215bacf46343f18d6cb7ab45f777264e13c22deb54f2cc830b?s=96&d=mm&r=g","width":96,"height":96,"caption":"Vivek Krishna"}},{"@type":"WebPage","@id":"https:\/\/2thenew.xyz\/blog\/accessing-session-map-in-the-domain-or-service-layer\/#webpage","url":"https:\/\/2thenew.xyz\/blog\/accessing-session-map-in-the-domain-or-service-layer\/","name":"Accessing Session Map in the Domain or Service Layer | TO THE NEW Blog","description":"The Session Map is available in Grails in the Views, TagLibs and the Controllers. That is, it can be directly accessed by the name \"session\". If the Session Map is required to be accessed in the Service Layer or the Domain layer, such a straightforward approach will not work. In this case, a class which","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/2thenew.xyz\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/2thenew.xyz\/blog\/accessing-session-map-in-the-domain-or-service-layer\/#breadcrumblist"},"author":{"@id":"https:\/\/2thenew.xyz\/blog\/author\/vivek\/#author"},"creator":{"@id":"https:\/\/2thenew.xyz\/blog\/author\/vivek\/#author"},"datePublished":"2009-07-16T19:23:30+05:30","dateModified":"2009-07-17T11:49:19+05:30"},{"@type":"WebSite","@id":"https:\/\/2thenew.xyz\/blog\/#website","url":"https:\/\/2thenew.xyz\/blog\/","name":"TO THE NEW Blog","inLanguage":"en-US","publisher":{"@id":"https:\/\/2thenew.xyz\/blog\/#organization"}}]},"og:locale":"en_US","og:site_name":"TO THE NEW BLOG","og:type":"blog","og:title":"Accessing Session Map in the Domain or Service Layer | TO THE NEW Blog","og:description":"The Session Map is available in Grails in the Views, TagLibs and the Controllers. That is, it can be directly accessed by the name &quot;session&quot;. If the Session Map is required to be accessed in the Service Layer or the Domain layer, such a straightforward approach will not work. In this case, a class which","og:url":"https:\/\/2thenew.xyz\/blog\/accessing-session-map-in-the-domain-or-service-layer\/","og:image":"https:\/\/2thenew.xyz\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png","og:image:secure_url":"https:\/\/2thenew.xyz\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png","twitter:card":"summary","twitter:site":"@tothenew","twitter:title":"Accessing Session Map in the Domain or Service Layer | TO THE NEW Blog","twitter:description":"The Session Map is available in Grails in the Views, TagLibs and the Controllers. That is, it can be directly accessed by the name &quot;session&quot;. If the Session Map is required to be accessed in the Service Layer or the Domain layer, such a straightforward approach will not work. In this case, a class which","twitter:image":"https:\/\/2thenew.xyz\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png"},"aioseo_meta_data":{"post_id":"136","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"limit_modified_date":false,"created":"2021-04-29 15:48:16","updated":"2024-02-29 09:27:24","focus_keyword":null,"additional_keywords":null,"truseo_locale":null,"ai":null,"breadcrumb_settings":null,"seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/2thenew.xyz\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/2thenew.xyz\/blog\/category\/grails\/\" title=\"Grails\">Grails<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tAccessing Session Map in the Domain or Service Layer\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/2thenew.xyz\/blog"},{"label":"Grails","link":"https:\/\/2thenew.xyz\/blog\/category\/grails\/"},{"label":"Accessing Session Map in the Domain or Service Layer","link":"https:\/\/2thenew.xyz\/blog\/accessing-session-map-in-the-domain-or-service-layer\/"}],"_links":{"self":[{"href":"https:\/\/2thenew.xyz\/blog\/wp-json\/wp\/v2\/posts\/136","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/2thenew.xyz\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/2thenew.xyz\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/2thenew.xyz\/blog\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/2thenew.xyz\/blog\/wp-json\/wp\/v2\/comments?post=136"}],"version-history":[{"count":0,"href":"https:\/\/2thenew.xyz\/blog\/wp-json\/wp\/v2\/posts\/136\/revisions"}],"wp:attachment":[{"href":"https:\/\/2thenew.xyz\/blog\/wp-json\/wp\/v2\/media?parent=136"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/2thenew.xyz\/blog\/wp-json\/wp\/v2\/categories?post=136"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/2thenew.xyz\/blog\/wp-json\/wp\/v2\/tags?post=136"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}