I using Spring Boot + Struts2, and the convention plugin is not working. That, is the request URL paths are not being automatically mapped to their corresponding action classes at all.
Spring Boot: 1.5.19.RELEASE Struts2: 2.5.20 Java VM JDK 1.8 Maven I have the struts2-convention-plugin in my maven POM dependencies. And I have registered the Struts2 StrutsPrepareAndExecuteFilter as a bean in Spring Boot, and the filter gets called in the request filter chain. However, it is not resolving the incoming path to an action class using the convention plugin. Below is a portion of my struts.xml: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN" "http://struts.apache.org/dtds/struts-2.5.dtd"> <struts> <constant name="struts.devMode" value="true" /> <constant name="struts.action.extension" value="do" /> <constant name="struts.convention.action.packages" value="com.ezlista.web.struts2.action" /> <constant name="struts.convention.classes.reload" value="true" /> <constant name="struts.convention.default.parent.package" value="ezlista-package" /> <constant name="struts.convention.package.locators" value="action" /> <constant name="struts.convention.package.locators.basePackage" value="com.ezlista.web.struts2" /> <constant name="struts.convention.result.path" value="/WEB-INF/content/" /> <constant name="struts.custom.i18n.resources" value="messages" /> <constant name="struts.date.format" value="dd/MM/yyyy hh:mm" /> <constant name="struts.freemarker.templatesCache" value="true" /> <constant name="struts.i18n.encoding" value="UTF-8" /> <constant name="struts.objectFactory" value="spring" /> <constant name="struts.serve.static" value="true" /> <constant name="struts.ui.theme" value="simple" /> <constant name="struts.ui.templateDir" value="template" /> <constant name="struts.ognl.allowStaticMethodAccess " value="true" /> <package name="ezlista-package" extends="json-default"> <interceptors> <interceptor-stack name="ezlistaStack"> <interceptor-ref name="defaultStack"> <param name="exception.logEnabled">true</param> <param name="exception.logLevel">ERROR</param> <param name="exception.logCategory">com.ezlista</param> <param name="params.excludeParams">dojo\..*,^struts\..*,^session\..*,^request\..*,^application\..*,^servlet(Request|Response)\..*,parameters\...*,^_csrf</param> </interceptor-ref> </interceptor-stack> </interceptors> <default-interceptor-ref name="ezlistaStack" /> <default-action-ref name="default-action" /> </package> ..... </struts> <http://aka.ms/weboutlook>