{"id":1993,"date":"2017-05-11T15:05:33","date_gmt":"2017-05-11T13:05:33","guid":{"rendered":"http:\/\/blog.rabahi.net\/?page_id=1993"},"modified":"2017-05-11T15:05:33","modified_gmt":"2017-05-11T13:05:33","slug":"java-spring-struts","status":"publish","type":"page","link":"https:\/\/blog.rabahi.net\/?page_id=1993","title":{"rendered":"Java Spring &#8211; Struts"},"content":{"rendered":"<h1>Prerequistes<\/h1>\n<p>Please read : <a href=\"?page_id=1549\">Java spring &#8211; quickstart<\/a><\/p>\n<h1>Configuration<\/h1>\n<p>If you use maven, add this to your pom.xml<\/p>\n<pre lang=\"xml\">\r\n<dependencies>\r\n(...)\r\n\r\n  <dependency>\r\n    <groupId>org.apache.struts<\/groupId>\r\n    <artifactId>struts2-core<\/artifactId>\r\n    <version>${struts.version}<\/version>\r\n  <\/dependency>\r\n\r\n  <dependency>\r\n    <groupId>org.apache.struts<\/groupId>\r\n    <artifactId>struts2-convention-plugin<\/artifactId>\r\n    <version>${struts.version}<\/version>\r\n  <\/dependency>\r\n\r\n(...)\r\n<\/dependencies>\r\n<\/pre>\n<p>Update WebConfig to add struts filter <\/p>\n<pre lang=\"java\">\r\npublic class WebConfig extends AbstractAnnotationConfigDispatcherServletInitializer {\r\n(...)\r\n\r\n@Override\r\n    protected Filter[] getServletFilters() {\r\n        CharacterEncodingFilter characterEncodingFilter = new CharacterEncodingFilter();\r\n        characterEncodingFilter.setEncoding(\"UTF-8\");\r\n        return new Filter[] { characterEncodingFilter, new StrutsPrepareAndExecuteFilter()};\r\n    }\r\n\r\n(...)\r\n}\r\n<\/pre>\n<p>Now create an Action :<\/p>\n<pre lang=\"java\">\r\n@Action(\"\/helloworld\")\r\n@ResultPath(\"\/WEB-INF\/views\")\r\n@Result(name = \"success\", location = \"helloworld.jsp\")\r\npublic class HelloWorldAction extends ActionSupport {\r\n\r\n\t\/**\r\n\t * \r\n\t *\/\r\n\tprivate static final long serialVersionUID = -5513322593080313637L;\r\n\t\r\n\tprivate String message = \"Hello world from struts action !\";\r\n\r\n\tpublic String execute() throws Exception {\r\n\t\treturn \"success\";\r\n\t}\r\n\r\n\t\/**\r\n\t * @return the message\r\n\t *\/\r\n\tpublic String getMessage() {\r\n\t\treturn message;\r\n\t}\r\n\r\n\t\/**\r\n\t * @param message the message to set\r\n\t *\/\r\n\tpublic void setMessage(String message) {\r\n\t\tthis.message = message;\r\n\t}\t\r\n}\r\n<\/pre>\n<p>And create the file .\/src\/main\/webapp\/WEB-INF\/views\/helloworld.jsp<\/p>\n<pre lang=\"jsp\">\r\n<%@ page contentType=\"text\/html; charset=UTF-8\" %>\r\n<%@ taglib prefix=\"s\" uri=\"\/struts-tags\" %>\r\n<html>\r\n<head>\r\n<\/head>\r\n<body>\r\n\r\n\t<br>\r\n\t<div style=\"text-align: center\">\r\n\t\t<h2>Message from spring controller :<\/h2>\r\n\t\t<h3 id=\"helloworld-text\"><s:property value=\"message\"\/><\/h3>\r\n\t<\/div>\r\n\r\n<\/body>\r\n<\/html>\r\n<\/pre>\n<p>Finally go to http:\/\/localhost:8080\/helloworld.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Prerequistes Please read : Java spring &#8211; quickstart Configuration If you use maven, add this to your pom.xml (&#8230;) org.apache.struts struts2-core ${struts.version} org.apache.struts struts2-convention-plugin ${struts.version} (&#8230;) Update WebConfig to add struts filter public class WebConfig extends AbstractAnnotationConfigDispatcherServletInitializer { (&#8230;) @Override protected Filter[] getServletFilters() { CharacterEncodingFilter characterEncodingFilter = new CharacterEncodingFilter(); characterEncodingFilter.setEncoding(&#8220;UTF-8&#8221;); return new Filter[] { characterEncodingFilter, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":1547,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1993","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/blog.rabahi.net\/index.php?rest_route=\/wp\/v2\/pages\/1993","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.rabahi.net\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/blog.rabahi.net\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/blog.rabahi.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.rabahi.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1993"}],"version-history":[{"count":1,"href":"https:\/\/blog.rabahi.net\/index.php?rest_route=\/wp\/v2\/pages\/1993\/revisions"}],"predecessor-version":[{"id":1994,"href":"https:\/\/blog.rabahi.net\/index.php?rest_route=\/wp\/v2\/pages\/1993\/revisions\/1994"}],"up":[{"embeddable":true,"href":"https:\/\/blog.rabahi.net\/index.php?rest_route=\/wp\/v2\/pages\/1547"}],"wp:attachment":[{"href":"https:\/\/blog.rabahi.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1993"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}