{"id":16011,"date":"2017-06-12T14:00:42","date_gmt":"2017-06-12T08:30:42","guid":{"rendered":"http:\/\/www.fusioncharts.com\/blog\/?p=16011"},"modified":"2026-01-20T14:36:53","modified_gmt":"2026-01-20T09:06:53","slug":"implementing-fusioncharts-with-the-struts-2-framework","status":"publish","type":"post","link":"https:\/\/www.fusioncharts.com\/blog\/implementing-fusioncharts-with-the-struts-2-framework\/","title":{"rendered":"Implementing FusionCharts with the Struts 2 Framework 2026"},"content":{"rendered":"Apache Struts 2, earlier known as WebWork 2, is an extensible framework that allows developers to create enterprise-ready Java-based web applications. The Struts 2 framework has been designed in a way that helps to streamline the complete application development cycle\u2014starting from building the application to deploying it to maintaining it over time.\r\n\r\nFusionCharts Suite XT is a JavaScript charting library that comprises of a large variety of JavaScript charts that use simple XML and JSON formats to feed data for creating graphs that you can use in your demos.\r\nThe suite also comes with the capability to be coupled with several other frameworks for ease of development. \r\n\r\nIn this tutorial, we will be looking at implementing FusionCharts with one such framework\u2014the Struts 2 framework.\r\n\r\nSo let\u2019s get started!\r\n\r\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_71 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\"><p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<\/div><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.fusioncharts.com\/blog\/implementing-fusioncharts-with-the-struts-2-framework\/#Requirements\" title=\"Requirements\">Requirements<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.fusioncharts.com\/blog\/implementing-fusioncharts-with-the-struts-2-framework\/#Creating_the_Application_and_Configuration\" title=\"Creating the Application and Configuration\">Creating the Application and Configuration<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.fusioncharts.com\/blog\/implementing-fusioncharts-with-the-struts-2-framework\/#Step_1\" title=\"Step 1\">Step 1<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.fusioncharts.com\/blog\/implementing-fusioncharts-with-the-struts-2-framework\/#Step_2\" title=\"Step 2\">Step 2<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.fusioncharts.com\/blog\/implementing-fusioncharts-with-the-struts-2-framework\/#Step_3\" title=\"Step 3\">Step 3<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.fusioncharts.com\/blog\/implementing-fusioncharts-with-the-struts-2-framework\/#Viewing_the_Chart\" title=\"Viewing the Chart\">Viewing the Chart<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.fusioncharts.com\/blog\/implementing-fusioncharts-with-the-struts-2-framework\/#Was_There_a_Problem_Rendering_Charts\" title=\"Was There a Problem Rendering Charts?\">Was There a Problem Rendering Charts?<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Requirements\"><\/span> Requirements <span class=\"ez-toc-section-end\"><\/span><\/h2>\r\nTo get the code (for creating charts) in this post working, we need to first download the following components on our local machine:\r\n<ul>\r\n \t<li>FusionCharts Suite XT [<a href=\"https:\/\/www.fusioncharts.com\/download\/\" target=\"_blank\" rel=\"noopener noreferrer\">Download Link<\/a>]<\/li>\r\n \t<li>FusionCharts JSP Wrapper [<a href=\"https:\/\/www.fusioncharts.com\/dev\/getting-started\/java\/your-first-chart-using-java\" target=\"_blank\" rel=\"noopener noreferrer\">Download Link<\/a>]<\/li>\r\n<\/ul>\r\n\r\n<h2><span class=\"ez-toc-section\" id=\"Creating_the_Application_and_Configuration\"><\/span> Creating the Application and Configuration <span class=\"ez-toc-section-end\"><\/span><\/h2>\r\n\r\n<h3><span class=\"ez-toc-section\" id=\"Step_1\"><\/span> Step 1 <span class=\"ez-toc-section-end\"><\/span><\/h3>\r\nCreate a new web application project with the Struts2 framework.\r\n\r\n<h3><span class=\"ez-toc-section\" id=\"Step_2\"><\/span> Step 2 <span class=\"ez-toc-section-end\"><\/span><\/h3>\r\nCreate a java class that will act as a controller in the framework. The output of this will be an entire FusionCharts string that will be called in the jsp page (or the view). On running this string, the chart will be rendered.\r\n\r\n<strong> Note <\/strong>: Include the FusionCharts.java file in the same folder in which you have created the above Java class. If you have placed the FusionCharts java wrapper inside a different package, import it into the folder with the Java class. \r\n\r\n<pre class=\"lang:java\">\r\npackage fusioncharts;\r\n \r\n\/**\r\n *\r\n * @author fusioncharts\r\n *\/\r\nimport javax.servlet.http.HttpServletRequest;\r\nimport javax.servlet.http.HttpServletResponse;\r\nimport org.apache.struts2.interceptor.ServletRequestAware;\r\nimport org.apache.struts2.interceptor.ServletResponseAware;\r\nimport com.opensymphony.xwork2.ActionSupport;\r\n \r\npublic class action extends ActionSupport implements\r\n\t\tServletRequestAware, ServletResponseAware{\r\n    \r\n    private static final long serialVersionUID = 1L;\r\n \r\n\tprivate HttpServletRequest request;\r\n \r\n\tprivate HttpServletResponse response;\r\n \r\n    \/**\r\n     *\r\n     * @return\r\n     *\/\r\n    public String chartmaker(){\r\n        FusionCharts columnChart= new FusionCharts(\r\n            \"column2d\",\/\/ chartType\r\n            \"chart1\",\/\/ chartId\r\n            \"550\",\"350\",\/\/ chartWidth, chartHeight\r\n            \"chart\",\/\/ chartContainer\r\n            \"json\",\/\/ dataFormat\r\n            \"{\\\"chart\\\": {\\\"caption\\\": \\\"Harry\\'s SuperMart - Top 5 Stores' Revenue\\\", \\\"subCaption\\\": \\\"Last Year\\\", \\\"numberPrefix\\\": \\\"$\\\", \\\"rotatevalues\\\": \\\"0\\\", \\\"plotToolText\\\": \\\"<div><b>$label<\/b><br \/>Sales : <b>$$value<\/b><\/div>\\\", \\\"theme\\\": \\\"fint\\\"}, \\\"data\\\": [{\\\"label\\\": \\\"Bakersfield Central\\\", \\\"value\\\": \\\"880000\\\"}, {\\\"label\\\": \\\"Garden Groove harbour\\\", \\\"value\\\": \\\"730000\\\"}, {\\\"label\\\": \\\"Los Angeles Topanga\\\", \\\"value\\\": \\\"590000\\\"}, {\\\"label\\\": \\\"Compton-Rancho Dom\\\", \\\"value\\\": \\\"520000\\\"}, {\\\"label\\\": \\\"Daly City Serramonte\\\", \\\"value\\\": \\\"330000\\\"}] }\"\r\n           \r\n            );\r\n        \r\n        return columnChart.render();\r\n    }\r\n    \r\n    @Override\r\n    public void setServletRequest(HttpServletRequest request) {\r\n\t\tthis.request = request;\r\n\t}\r\n \r\n    \/**\r\n     *\r\n     * @param response\r\n     *\/\r\n    @Override\r\n\tpublic void setServletResponse(HttpServletResponse response) {\r\n\t\tthis.response = response;\r\n\t}\r\n}\r\n<\/pre>\r\n\r\n<h3><span class=\"ez-toc-section\" id=\"Step_3\"><\/span> Step 3 <span class=\"ez-toc-section-end\"><\/span><\/h3>\r\nCreate a JSP page that will act as the view.  The chart will render in the browser on executing this JSP page.\r\n\r\n<pre class=\"lang:markup\">\r\n\r\n&lt;%@page import=\"fusioncharts.action\"%&gt;\r\n&lt;%@page contentType=\"text\/html\" pageEncoding=\"UTF-8\"%&gt;\r\n&lt;%@page import=\"fusioncharts.FusionCharts\" %&gt;\r\n&lt;!DOCTYPE html&gt;\r\n&lt;html&gt;\r\n    &lt;head&gt;\r\n        &lt;title&gt;FusionCharts || www.fusioncharts.com&lt;\/title&gt;\r\n        &lt;script src=\"fusioncharts.js\"&gt;&lt;\/script&gt;\r\n        &lt;script src=\"fusioncharts.charts.js\"&gt;&lt;\/script&gt;\r\n        &lt;script src=\"fusioncharts.theme.fint.js\"&gt;&lt;\/script&gt;\r\n        \r\n    &lt;\/head&gt;\r\n    &lt;body&gt;\r\n         &lt;div id=\"chart\"&gt;&lt;\/div&gt;\r\n        &lt;%\r\n           \r\n         action a= new action();\r\n         out.println(a.chartmaker());\r\n         %&gt;\r\n         \r\n &lt;\/body&gt;\r\n&lt;\/html&gt;\r\n \r\n       \r\n<\/pre>\r\n\r\n<strong> Note <\/strong>: Import the Fusioncharts wrapper in the JSP page and also include the FusionCharts JS library files in the page.\r\n\r\n<h2><span class=\"ez-toc-section\" id=\"Viewing_the_Chart\"><\/span> Viewing the Chart <span class=\"ez-toc-section-end\"><\/span><\/h2>\r\nNow, all you need to do is  simply run the .jsp file to render the chart.\r\n\r\nYour output should look like the chart shown below:\r\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.fusioncharts.com\/blog\/wp-content\/uploads\/gallery\/blog\/2017\/06\/Output_Resized.jpg\" alt=\"\" width=\"320\" height=\"227\" class=\"aligncenter size-full wp-image-16021\" srcset=\"\/blog\/wp-content\/uploads\/2017\/06\/Output_Resized.jpg 320w, \/blog\/wp-content\/uploads\/2017\/06\/Output_Resized-150x106.jpg 150w\" sizes=\"auto, (max-width: 320px) 100vw, 320px\" \/>\r\n\r\nIf you find any difficulty in rendering the chart or you see any error in your code, click <a href=\"https:\/\/www.dropbox.com\/s\/0c3zpjquku33xna\/Fusioncharts_struts2.zip?dl=0\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a> to download the complete source code of the sample project we have created for this tutorial.\r\n\r\n<h2><span class=\"ez-toc-section\" id=\"Was_There_a_Problem_Rendering_Charts\"><\/span> Was There a Problem Rendering Charts? <span class=\"ez-toc-section-end\"><\/span><\/h2>\r\n\r\nIn case something went wrong and you are unable to see the chart, check for the following:\r\n<ul>\r\n<li> The chart ID should be unique for all charts rendered on the same page. Otherwise, it will result in a JavaScript error. <\/li>\r\n<li> If the chart does not show up at all, check if the <strong>fusioncharts.js<\/strong> and FusionCharts wrapper <strong>FusionCharts.java<\/strong> was loaded. Also, check if the path to the <strong>fusioncharts.js<\/strong> and the <strong>FusionCharts.java<\/strong> files is correct, and whether the files exist in that location. <\/li><\/ul>","protected":false},"excerpt":{"rendered":"<p>Apache Struts 2, earlier known as WebWork 2, is an extensible framework that allows developers to create enterprise-ready Java-based web applications. The Struts 2 framework has been designed in a way that helps to streamline the complete application development cycle\u2014starting from building the application to deploying it to maintaining it over time. FusionCharts Suite XT [&hellip;]<\/p>\n","protected":false},"author":29,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[18],"tags":[152,672,671,670],"coauthors":[652,648],"class_list":["post-16011","post","type-post","status-publish","format-standard","hentry","category-tutorials","tag-fusioncharts","tag-fusioncharts-tutorial","tag-implementing-fusioncharts-with-struts-2","tag-struts-2-framework"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Implementing FusionCharts with the Struts 2 Framework 2026<\/title>\n<meta name=\"description\" content=\"Create enterprise-ready Java web applications with Struts 2. Learn how to implement professional 2026 charting in this extensible framework. Start today.\" \/>\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.fusioncharts.com\/blog\/implementing-fusioncharts-with-the-struts-2-framework\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Implementing FusionCharts with the Struts 2 Framework 2026\" \/>\n<meta property=\"og:description\" content=\"Create enterprise-ready Java web applications with Struts 2. Learn how to implement professional 2026 charting in this extensible framework. Start today.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.fusioncharts.com\/blog\/implementing-fusioncharts-with-the-struts-2-framework\/\" \/>\n<meta property=\"og:site_name\" content=\"FusionBrew - The FusionCharts Blog\" \/>\n<meta property=\"article:published_time\" content=\"2017-06-12T08:30:42+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-01-20T09:06:53+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.fusioncharts.com\/blog\/wp-content\/uploads\/2017\/06\/Output_Resized.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"320\" \/>\n\t<meta property=\"og:image:height\" content=\"227\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Nikita Jhanglani, Ayan Bhadury\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Nikita Jhanglani, Ayan Bhadury\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\n\t    \"@context\": \"https:\/\/schema.org\",\n\t    \"@graph\": [\n\t        {\n\t            \"@type\": \"Article\",\n\t            \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/implementing-fusioncharts-with-the-struts-2-framework\/#article\",\n\t            \"isPartOf\": {\n\t                \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/implementing-fusioncharts-with-the-struts-2-framework\/\"\n\t            },\n\t            \"author\": {\n\t                \"name\": \"Nikita Jhanglani\",\n\t                \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/#\/schema\/person\/270a83f8aefb80dafb2a931de0282717\"\n\t            },\n\t            \"headline\": \"Implementing FusionCharts with the Struts 2 Framework 2026\",\n\t            \"datePublished\": \"2017-06-12T08:30:42+00:00\",\n\t            \"dateModified\": \"2026-01-20T09:06:53+00:00\",\n\t            \"mainEntityOfPage\": {\n\t                \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/implementing-fusioncharts-with-the-struts-2-framework\/\"\n\t            },\n\t            \"wordCount\": 463,\n\t            \"commentCount\": 0,\n\t            \"publisher\": {\n\t                \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/#organization\"\n\t            },\n\t            \"image\": {\n\t                \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/implementing-fusioncharts-with-the-struts-2-framework\/#primaryimage\"\n\t            },\n\t            \"thumbnailUrl\": \"https:\/\/www.fusioncharts.com\/blog\/wp-content\/uploads\/gallery\/blog\/2017\/06\/Output_Resized.jpg\",\n\t            \"keywords\": [\n\t                \"FusionCharts\",\n\t                \"FusionCharts tutorial\",\n\t                \"Implementing FusionCharts with Struts 2\",\n\t                \"Struts 2 Framework\"\n\t            ],\n\t            \"articleSection\": [\n\t                \"Tutorials\"\n\t            ],\n\t            \"inLanguage\": \"en-US\",\n\t            \"potentialAction\": [\n\t                {\n\t                    \"@type\": \"CommentAction\",\n\t                    \"name\": \"Comment\",\n\t                    \"target\": [\n\t                        \"https:\/\/www.fusioncharts.com\/blog\/implementing-fusioncharts-with-the-struts-2-framework\/#respond\"\n\t                    ]\n\t                }\n\t            ]\n\t        },\n\t        {\n\t            \"@type\": \"WebPage\",\n\t            \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/implementing-fusioncharts-with-the-struts-2-framework\/\",\n\t            \"url\": \"https:\/\/www.fusioncharts.com\/blog\/implementing-fusioncharts-with-the-struts-2-framework\/\",\n\t            \"name\": \"Implementing FusionCharts with the Struts 2 Framework 2026\",\n\t            \"isPartOf\": {\n\t                \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/#website\"\n\t            },\n\t            \"primaryImageOfPage\": {\n\t                \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/implementing-fusioncharts-with-the-struts-2-framework\/#primaryimage\"\n\t            },\n\t            \"image\": {\n\t                \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/implementing-fusioncharts-with-the-struts-2-framework\/#primaryimage\"\n\t            },\n\t            \"thumbnailUrl\": \"https:\/\/www.fusioncharts.com\/blog\/wp-content\/uploads\/gallery\/blog\/2017\/06\/Output_Resized.jpg\",\n\t            \"datePublished\": \"2017-06-12T08:30:42+00:00\",\n\t            \"dateModified\": \"2026-01-20T09:06:53+00:00\",\n\t            \"description\": \"Create enterprise-ready Java web applications with Struts 2. Learn how to implement professional 2026 charting in this extensible framework. Start today.\",\n\t            \"breadcrumb\": {\n\t                \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/implementing-fusioncharts-with-the-struts-2-framework\/#breadcrumb\"\n\t            },\n\t            \"inLanguage\": \"en-US\",\n\t            \"potentialAction\": [\n\t                {\n\t                    \"@type\": \"ReadAction\",\n\t                    \"target\": [\n\t                        \"https:\/\/www.fusioncharts.com\/blog\/implementing-fusioncharts-with-the-struts-2-framework\/\"\n\t                    ]\n\t                }\n\t            ]\n\t        },\n\t        {\n\t            \"@type\": \"ImageObject\",\n\t            \"inLanguage\": \"en-US\",\n\t            \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/implementing-fusioncharts-with-the-struts-2-framework\/#primaryimage\",\n\t            \"url\": \"\/blog\/wp-content\/uploads\/2017\/06\/Output_Resized.jpg\",\n\t            \"contentUrl\": \"\/blog\/wp-content\/uploads\/2017\/06\/Output_Resized.jpg\",\n\t            \"width\": 320,\n\t            \"height\": 227\n\t        },\n\t        {\n\t            \"@type\": \"BreadcrumbList\",\n\t            \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/implementing-fusioncharts-with-the-struts-2-framework\/#breadcrumb\",\n\t            \"itemListElement\": [\n\t                {\n\t                    \"@type\": \"ListItem\",\n\t                    \"position\": 1,\n\t                    \"name\": \"Home\",\n\t                    \"item\": \"https:\/\/www.fusioncharts.com\/blog\/\"\n\t                },\n\t                {\n\t                    \"@type\": \"ListItem\",\n\t                    \"position\": 2,\n\t                    \"name\": \"Implementing FusionCharts with the Struts 2 Framework 2026\"\n\t                }\n\t            ]\n\t        },\n\t        {\n\t            \"@type\": \"WebSite\",\n\t            \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/#website\",\n\t            \"url\": \"https:\/\/www.fusioncharts.com\/blog\/\",\n\t            \"name\": \"FusionBrew - The FusionCharts Blog\",\n\t            \"description\": \"Get tips and tricks on how to build effective Data Visualisation using FusionCharts\",\n\t            \"publisher\": {\n\t                \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/#organization\"\n\t            },\n\t            \"potentialAction\": [\n\t                {\n\t                    \"@type\": \"SearchAction\",\n\t                    \"target\": {\n\t                        \"@type\": \"EntryPoint\",\n\t                        \"urlTemplate\": \"https:\/\/www.fusioncharts.com\/blog\/?s={search_term_string}\"\n\t                    },\n\t                    \"query-input\": {\n\t                        \"@type\": \"PropertyValueSpecification\",\n\t                        \"valueRequired\": true,\n\t                        \"valueName\": \"search_term_string\"\n\t                    }\n\t                }\n\t            ],\n\t            \"inLanguage\": \"en-US\"\n\t        },\n\t        {\n\t            \"@type\": \"Organization\",\n\t            \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/#organization\",\n\t            \"name\": \"FusionCharts\",\n\t            \"url\": \"https:\/\/www.fusioncharts.com\/blog\/\",\n\t            \"logo\": {\n\t                \"@type\": \"ImageObject\",\n\t                \"inLanguage\": \"en-US\",\n\t                \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/#\/schema\/logo\/image\/\",\n\t                \"url\": \"\/blog\/wp-content\/uploads\/2020\/03\/idera-fc-logo.svg\",\n\t                \"contentUrl\": \"\/blog\/wp-content\/uploads\/2020\/03\/idera-fc-logo.svg\",\n\t                \"width\": 1,\n\t                \"height\": 1,\n\t                \"caption\": \"FusionCharts\"\n\t            },\n\t            \"image\": {\n\t                \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/#\/schema\/logo\/image\/\"\n\t            }\n\t        },\n\t        {\n\t            \"@type\": \"Person\",\n\t            \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/#\/schema\/person\/270a83f8aefb80dafb2a931de0282717\",\n\t            \"name\": \"Nikita Jhanglani\",\n\t            \"image\": {\n\t                \"@type\": \"ImageObject\",\n\t                \"inLanguage\": \"en-US\",\n\t                \"@id\": \"https:\/\/www.fusioncharts.com\/blog\/#\/schema\/person\/image\/8ccbb6c1287de762e6e06a7da1088fe5\",\n\t                \"url\": \"\/blog\/wp-content\/wphb-cache\/gravatar\/6ea\/6ea57614eecc7c184539f84654fd9592x96.jpg\",\n\t                \"contentUrl\": \"\/blog\/wp-content\/wphb-cache\/gravatar\/6ea\/6ea57614eecc7c184539f84654fd9592x96.jpg\",\n\t                \"caption\": \"Nikita Jhanglani\"\n\t            },\n\t            \"url\": \"https:\/\/www.fusioncharts.com\/blog\/author\/nikita-jhanglani\/\"\n\t        }\n\t    ]\n\t}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Implementing FusionCharts with the Struts 2 Framework 2026","description":"Create enterprise-ready Java web applications with Struts 2. Learn how to implement professional 2026 charting in this extensible framework. Start today.","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.fusioncharts.com\/blog\/implementing-fusioncharts-with-the-struts-2-framework\/","og_locale":"en_US","og_type":"article","og_title":"Implementing FusionCharts with the Struts 2 Framework 2026","og_description":"Create enterprise-ready Java web applications with Struts 2. Learn how to implement professional 2026 charting in this extensible framework. Start today.","og_url":"https:\/\/www.fusioncharts.com\/blog\/implementing-fusioncharts-with-the-struts-2-framework\/","og_site_name":"FusionBrew - The FusionCharts Blog","article_published_time":"2017-06-12T08:30:42+00:00","article_modified_time":"2026-01-20T09:06:53+00:00","og_image":[{"width":320,"height":227,"url":"https:\/\/www.fusioncharts.com\/blog\/wp-content\/uploads\/2017\/06\/Output_Resized.jpg","type":"image\/jpeg"}],"author":"Nikita Jhanglani, Ayan Bhadury","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Nikita Jhanglani, Ayan Bhadury","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.fusioncharts.com\/blog\/implementing-fusioncharts-with-the-struts-2-framework\/#article","isPartOf":{"@id":"https:\/\/www.fusioncharts.com\/blog\/implementing-fusioncharts-with-the-struts-2-framework\/"},"author":{"name":"Nikita Jhanglani","@id":"https:\/\/www.fusioncharts.com\/blog\/#\/schema\/person\/270a83f8aefb80dafb2a931de0282717"},"headline":"Implementing FusionCharts with the Struts 2 Framework 2026","datePublished":"2017-06-12T08:30:42+00:00","dateModified":"2026-01-20T09:06:53+00:00","mainEntityOfPage":{"@id":"https:\/\/www.fusioncharts.com\/blog\/implementing-fusioncharts-with-the-struts-2-framework\/"},"wordCount":463,"commentCount":0,"publisher":{"@id":"https:\/\/www.fusioncharts.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.fusioncharts.com\/blog\/implementing-fusioncharts-with-the-struts-2-framework\/#primaryimage"},"thumbnailUrl":"https:\/\/www.fusioncharts.com\/blog\/wp-content\/uploads\/gallery\/blog\/2017\/06\/Output_Resized.jpg","keywords":["FusionCharts","FusionCharts tutorial","Implementing FusionCharts with Struts 2","Struts 2 Framework"],"articleSection":["Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.fusioncharts.com\/blog\/implementing-fusioncharts-with-the-struts-2-framework\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.fusioncharts.com\/blog\/implementing-fusioncharts-with-the-struts-2-framework\/","url":"https:\/\/www.fusioncharts.com\/blog\/implementing-fusioncharts-with-the-struts-2-framework\/","name":"Implementing FusionCharts with the Struts 2 Framework 2026","isPartOf":{"@id":"https:\/\/www.fusioncharts.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.fusioncharts.com\/blog\/implementing-fusioncharts-with-the-struts-2-framework\/#primaryimage"},"image":{"@id":"https:\/\/www.fusioncharts.com\/blog\/implementing-fusioncharts-with-the-struts-2-framework\/#primaryimage"},"thumbnailUrl":"https:\/\/www.fusioncharts.com\/blog\/wp-content\/uploads\/gallery\/blog\/2017\/06\/Output_Resized.jpg","datePublished":"2017-06-12T08:30:42+00:00","dateModified":"2026-01-20T09:06:53+00:00","description":"Create enterprise-ready Java web applications with Struts 2. Learn how to implement professional 2026 charting in this extensible framework. Start today.","breadcrumb":{"@id":"https:\/\/www.fusioncharts.com\/blog\/implementing-fusioncharts-with-the-struts-2-framework\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.fusioncharts.com\/blog\/implementing-fusioncharts-with-the-struts-2-framework\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.fusioncharts.com\/blog\/implementing-fusioncharts-with-the-struts-2-framework\/#primaryimage","url":"\/blog\/wp-content\/uploads\/2017\/06\/Output_Resized.jpg","contentUrl":"\/blog\/wp-content\/uploads\/2017\/06\/Output_Resized.jpg","width":320,"height":227},{"@type":"BreadcrumbList","@id":"https:\/\/www.fusioncharts.com\/blog\/implementing-fusioncharts-with-the-struts-2-framework\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.fusioncharts.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Implementing FusionCharts with the Struts 2 Framework 2026"}]},{"@type":"WebSite","@id":"https:\/\/www.fusioncharts.com\/blog\/#website","url":"https:\/\/www.fusioncharts.com\/blog\/","name":"FusionBrew - The FusionCharts Blog","description":"Get tips and tricks on how to build effective Data Visualisation using FusionCharts","publisher":{"@id":"https:\/\/www.fusioncharts.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.fusioncharts.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.fusioncharts.com\/blog\/#organization","name":"FusionCharts","url":"https:\/\/www.fusioncharts.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.fusioncharts.com\/blog\/#\/schema\/logo\/image\/","url":"\/blog\/wp-content\/uploads\/2020\/03\/idera-fc-logo.svg","contentUrl":"\/blog\/wp-content\/uploads\/2020\/03\/idera-fc-logo.svg","width":1,"height":1,"caption":"FusionCharts"},"image":{"@id":"https:\/\/www.fusioncharts.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.fusioncharts.com\/blog\/#\/schema\/person\/270a83f8aefb80dafb2a931de0282717","name":"Nikita Jhanglani","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.fusioncharts.com\/blog\/#\/schema\/person\/image\/8ccbb6c1287de762e6e06a7da1088fe5","url":"\/blog\/wp-content\/wphb-cache\/gravatar\/6ea\/6ea57614eecc7c184539f84654fd9592x96.jpg","contentUrl":"\/blog\/wp-content\/wphb-cache\/gravatar\/6ea\/6ea57614eecc7c184539f84654fd9592x96.jpg","caption":"Nikita Jhanglani"},"url":"https:\/\/www.fusioncharts.com\/blog\/author\/nikita-jhanglani\/"}]}},"_links":{"self":[{"href":"https:\/\/www.fusioncharts.com\/blog\/wp-json\/wp\/v2\/posts\/16011","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fusioncharts.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fusioncharts.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fusioncharts.com\/blog\/wp-json\/wp\/v2\/users\/29"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fusioncharts.com\/blog\/wp-json\/wp\/v2\/comments?post=16011"}],"version-history":[{"count":0,"href":"https:\/\/www.fusioncharts.com\/blog\/wp-json\/wp\/v2\/posts\/16011\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.fusioncharts.com\/blog\/wp-json\/wp\/v2\/media?parent=16011"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fusioncharts.com\/blog\/wp-json\/wp\/v2\/categories?post=16011"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fusioncharts.com\/blog\/wp-json\/wp\/v2\/tags?post=16011"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.fusioncharts.com\/blog\/wp-json\/wp\/v2\/coauthors?post=16011"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}