{"id":19228,"date":"2024-03-15T18:30:02","date_gmt":"2024-03-15T18:30:02","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-to-use-actioncontext-in-struts2\/"},"modified":"2024-03-21T15:12:00","modified_gmt":"2024-03-21T15:12:00","slug":"how-to-use-actioncontext-in-struts2","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-to-use-actioncontext-in-struts2\/","title":{"rendered":"How to use ActionContext in Struts2?"},"content":{"rendered":"<p>In Struts2, ActionContext is a class used to store context information for Actions. It is a thread-safe class that can be accessed from anywhere.<\/p>\n<p>With ActionContext, you can access and manipulate various details regarding the Action, such as request parameters, session information, response details, and more.<\/p>\n<p>Here are some common operations using ActionContext:<\/p>\n<ol>\n<li>Retrieve the ActionContext object:<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-type\">ActionContext<\/span> <span class=\"hljs-variable\">context<\/span> <span class=\"hljs-operator\">=<\/span> ActionContext.getContext();\r\n<\/code><\/pre>\n<ol>\n<li>Accessing and setting request parameters:<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-comment\">\/\/ \u83b7\u53d6\u8bf7\u6c42\u53c2\u6570<\/span>\r\nMap&lt;String, Object&gt; parameters = context.getParameters();\r\n\r\n<span class=\"hljs-comment\">\/\/ \u83b7\u53d6\u5355\u4e2a\u8bf7\u6c42\u53c2\u6570\u7684\u503c<\/span>\r\n<span class=\"hljs-type\">String<\/span> <span class=\"hljs-variable\">parameterValue<\/span> <span class=\"hljs-operator\">=<\/span> context.getParameters().get(<span class=\"hljs-string\">\"paramName\"<\/span>);\r\n\r\n<span class=\"hljs-comment\">\/\/ \u8bbe\u7f6e\u8bf7\u6c42\u53c2\u6570\u7684\u503c<\/span>\r\ncontext.getParameters().put(<span class=\"hljs-string\">\"paramName\"<\/span>, <span class=\"hljs-string\">\"paramValue\"<\/span>);\r\n<\/code><\/pre>\n<ol>\n<li>Retrieve and update session information:<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-comment\">\/\/ \u83b7\u53d6\u4f1a\u8bdd\u4fe1\u606f<\/span>\r\nMap&lt;String, Object&gt; session = context.getSession();\r\n\r\n<span class=\"hljs-comment\">\/\/ \u83b7\u53d6\u5355\u4e2a\u4f1a\u8bdd\u5c5e\u6027\u7684\u503c<\/span>\r\n<span class=\"hljs-type\">Object<\/span> <span class=\"hljs-variable\">attributeValue<\/span> <span class=\"hljs-operator\">=<\/span> context.getSession().get(<span class=\"hljs-string\">\"attributeName\"<\/span>);\r\n\r\n<span class=\"hljs-comment\">\/\/ \u8bbe\u7f6e\u4f1a\u8bdd\u5c5e\u6027\u7684\u503c<\/span>\r\ncontext.getSession().put(<span class=\"hljs-string\">\"attributeName\"<\/span>, attributeValue);\r\n<\/code><\/pre>\n<ol>\n<li>Accessing and setting context information.<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-comment\">\/\/ \u83b7\u53d6\u4e0a\u4e0b\u6587\u4fe1\u606f<\/span>\r\nMap&lt;String, Object&gt; contextMap = context.getContextMap();\r\n\r\n<span class=\"hljs-comment\">\/\/ \u83b7\u53d6\u5355\u4e2a\u4e0a\u4e0b\u6587\u5c5e\u6027\u7684\u503c<\/span>\r\n<span class=\"hljs-type\">Object<\/span> <span class=\"hljs-variable\">attributeValue<\/span> <span class=\"hljs-operator\">=<\/span> context.getContextMap().get(<span class=\"hljs-string\">\"attributeName\"<\/span>);\r\n\r\n<span class=\"hljs-comment\">\/\/ \u8bbe\u7f6e\u4e0a\u4e0b\u6587\u5c5e\u6027\u7684\u503c<\/span>\r\ncontext.getContextMap().put(<span class=\"hljs-string\">\"attributeName\"<\/span>, attributeValue);\r\n<\/code><\/pre>\n<ol>\n<li>Get and set response information.<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-comment\">\/\/ \u83b7\u53d6\u54cd\u5e94\u4fe1\u606f<\/span>\r\n<span class=\"hljs-type\">HttpServletResponse<\/span> <span class=\"hljs-variable\">response<\/span> <span class=\"hljs-operator\">=<\/span> (HttpServletResponse) context.get(StrutsStatics.HTTP_RESPONSE);\r\n\r\n<span class=\"hljs-comment\">\/\/ \u8bbe\u7f6e\u54cd\u5e94\u5934<\/span>\r\nresponse.setHeader(<span class=\"hljs-string\">\"headerName\"<\/span>, <span class=\"hljs-string\">\"headerValue\"<\/span>);\r\n\r\n<span class=\"hljs-comment\">\/\/ \u8bbe\u7f6e\u54cd\u5e94\u72b6\u6001\u7801<\/span>\r\nresponse.setStatus(HttpServletResponse.SC_OK);\r\n<\/code><\/pre>\n<p>These are just some common operations of ActionContext, there are many other methods available that can be used based on specific needs.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In Struts2, ActionContext is a class used to store context information for Actions. It is a thread-safe class that can be accessed from anywhere. With ActionContext, you can access and manipulate various details regarding the Action, such as request parameters, session information, response details, and more. Here are some common operations using ActionContext: Retrieve the [&hellip;]<\/p>\n","protected":false},"author":11,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-19228","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to use ActionContext in Struts2? - Blog - Silicon Cloud<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/how-to-use-actioncontext-in-struts2\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to use ActionContext in Struts2?\" \/>\n<meta property=\"og:description\" content=\"In Struts2, ActionContext is a class used to store context information for Actions. It is a thread-safe class that can be accessed from anywhere. With ActionContext, you can access and manipulate various details regarding the Action, such as request parameters, session information, response details, and more. Here are some common operations using ActionContext: Retrieve the [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-to-use-actioncontext-in-struts2\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-15T18:30:02+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-21T15:12:00+00:00\" \/>\n<meta name=\"author\" content=\"Olivia Parker\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Olivia Parker\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-actioncontext-in-struts2\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-actioncontext-in-struts2\/\"},\"author\":{\"name\":\"Olivia Parker\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3ff7b3da0e45ac5dbbef2502f3cea8d9\"},\"headline\":\"How to use ActionContext in Struts2?\",\"datePublished\":\"2024-03-15T18:30:02+00:00\",\"dateModified\":\"2024-03-21T15:12:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-actioncontext-in-struts2\/\"},\"wordCount\":105,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-actioncontext-in-struts2\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-actioncontext-in-struts2\/\",\"name\":\"How to use ActionContext in Struts2? - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-15T18:30:02+00:00\",\"dateModified\":\"2024-03-21T15:12:00+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-actioncontext-in-struts2\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-to-use-actioncontext-in-struts2\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-actioncontext-in-struts2\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to use ActionContext in Struts2?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3ff7b3da0e45ac5dbbef2502f3cea8d9\",\"name\":\"Olivia Parker\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/56c66f189ba32a6f9eb50f31a38fe774e2a725c213d4070835ccc51b8fbbc54b?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/56c66f189ba32a6f9eb50f31a38fe774e2a725c213d4070835ccc51b8fbbc54b?s=96&d=mm&r=g\",\"caption\":\"Olivia Parker\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/oliviaparker\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to use ActionContext in Struts2? - Blog - Silicon Cloud","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/blog\/how-to-use-actioncontext-in-struts2\/","og_locale":"en_US","og_type":"article","og_title":"How to use ActionContext in Struts2?","og_description":"In Struts2, ActionContext is a class used to store context information for Actions. It is a thread-safe class that can be accessed from anywhere. With ActionContext, you can access and manipulate various details regarding the Action, such as request parameters, session information, response details, and more. Here are some common operations using ActionContext: Retrieve the [&hellip;]","og_url":"https:\/\/www.silicloud.com\/blog\/how-to-use-actioncontext-in-struts2\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-15T18:30:02+00:00","article_modified_time":"2024-03-21T15:12:00+00:00","author":"Olivia Parker","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Olivia Parker","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-actioncontext-in-struts2\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-actioncontext-in-struts2\/"},"author":{"name":"Olivia Parker","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3ff7b3da0e45ac5dbbef2502f3cea8d9"},"headline":"How to use ActionContext in Struts2?","datePublished":"2024-03-15T18:30:02+00:00","dateModified":"2024-03-21T15:12:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-actioncontext-in-struts2\/"},"wordCount":105,"commentCount":0,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-actioncontext-in-struts2\/","url":"https:\/\/www.silicloud.com\/blog\/how-to-use-actioncontext-in-struts2\/","name":"How to use ActionContext in Struts2? - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-15T18:30:02+00:00","dateModified":"2024-03-21T15:12:00+00:00","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-actioncontext-in-struts2\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-to-use-actioncontext-in-struts2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-actioncontext-in-struts2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to use ActionContext in Struts2?"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3ff7b3da0e45ac5dbbef2502f3cea8d9","name":"Olivia Parker","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/56c66f189ba32a6f9eb50f31a38fe774e2a725c213d4070835ccc51b8fbbc54b?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/56c66f189ba32a6f9eb50f31a38fe774e2a725c213d4070835ccc51b8fbbc54b?s=96&d=mm&r=g","caption":"Olivia Parker"},"url":"https:\/\/www.silicloud.com\/blog\/author\/oliviaparker\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/19228","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=19228"}],"version-history":[{"count":1,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/19228\/revisions"}],"predecessor-version":[{"id":52959,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/19228\/revisions\/52959"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=19228"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=19228"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=19228"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}