I have also tried using Tomcat 11, but I’m still facing the same issue. Could you please provide a sample code migrated to Jakarta?
On Thu, 17 Apr, 2025, 6:25 pm M Huzaifah, <mhuzaifah.i...@gmail.com> wrote: > Hii Shakar, > > Could you please try to use tomcat 11. > > I faced issue about file upload using tomcat 11. > > Regards > > On Thu, Apr 17, 2025, 2:06 PM shankar sawate <sawateshankar...@gmail.com> > wrote: > > > Hi Team, > > > > If you have any sample code related to Jakarta migration, please share > it > > with me — it would be really helpful. > > > > On Thu, Apr 17, 2025 at 12:30 PM shankar sawate < > > sawateshankar...@gmail.com> > > wrote: > > > > > And I face this issue after deploying. > > > > > > 17-Apr-2025 12:28:09.568 SEVERE [http-nio-8083-exec-1] > > > org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() > > for > > > servlet [jsp] in context with path [/jakartaDemo_war_exploded] threw > > > exception [java.lang.NullPointerException: Cannot invoke > > > "org.apache.struts2.ActionInvocation.getProxy()" because "invocation" > is > > > null] with root cause > > > java.lang.NullPointerException: Cannot invoke > > > "org.apache.struts2.ActionInvocation.getProxy()" because "invocation" > is > > > null > > > at > > org.apache.struts2.components.Component.getNamespace(Component.java:448) > > > at > > > > > > org.apache.struts2.components.Component.determineNamespace(Component.java:433) > > > at > > > > > > org.apache.struts2.components.ServletUrlRenderer.renderFormUrl(ServletUrlRenderer.java:141) > > > at > > > > org.apache.struts2.components.Form.populateComponentHtmlId(Form.java:232) > > > at org.apache.struts2.components.UIBean.evaluateParams(UIBean.java:797) > > > at org.apache.struts2.components.UIBean.end(UIBean.java:551) > > > at > > > > > > org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:36) > > > at > > org.apache.jsp.index_jsp._jspx_meth_s_005fform_005f0(index_jsp.java:192) > > > at org.apache.jsp.index_jsp._jspService(index_jsp.java:141) > > > at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) > > > at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) > > > at > > > > > > org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:456) > > > at > > org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:380) > > > at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:328) > > > at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) > > > at > > > > > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) > > > at > > > > > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) > > > at > org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) > > > at > > > > > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) > > > at > > > > > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) > > > at > > > > > > org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter.handleRequest(StrutsPrepareAndExecuteFilter.java:151) > > > at > > > > > > org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter.tryHandleRequest(StrutsPrepareAndExecuteFilter.java:137) > > > at > > > > > > org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:125) > > > at > > > > > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) > > > at > > > > > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) > > > at > > > > > > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) > > > at > > > > > > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) > > > at > > > > > > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) > > > at > > > > > > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) > > > at > > > > > > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) > > > at > > > > > > org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:673) > > > at > > > > > > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) > > > at > > > > > > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) > > > at > > > > > > org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) > > > at > > > > > > org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) > > > at > > > > > > org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) > > > at > > > org.apache.tomcat.util.net > > .NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) > > > at > > > org.apache.tomcat.util.net > > .SocketProcessorBase.run(SocketProcessorBase.java:52) > > > at > > > > > > org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) > > > at > > > > > > org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) > > > at > > > > > > org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) > > > at java.base/java.lang.Thread.run(Thread.java:1583) > > > 17-Apr-2025 12:28:09.854 SEVERE [http-nio-8083-exec-4] > > > org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() > > for > > > servlet [jsp] in context with path [/jakartaDemo_war_exploded] threw > > > exception [java.lang.NullPointerException: Cannot invoke > > > "org.apache.struts2.ActionInvocation.getProxy()" because "invocation" > is > > > null] with root cause > > > java.lang.NullPointerException: Cannot invoke > > > "org.apache.struts2.ActionInvocation.getProxy()" because "invocation" > is > > > null > > > at > > org.apache.struts2.components.Component.getNamespace(Component.java:448) > > > at > > > > > > org.apache.struts2.components.Component.determineNamespace(Component.java:433) > > > at > > > > > > org.apache.struts2.components.ServletUrlRenderer.renderFormUrl(ServletUrlRenderer.java:141) > > > at > > > > org.apache.struts2.components.Form.populateComponentHtmlId(Form.java:232) > > > at org.apache.struts2.components.UIBean.evaluateParams(UIBean.java:797) > > > at org.apache.struts2.components.UIBean.end(UIBean.java:551) > > > at > > > > > > org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:36) > > > at > > org.apache.jsp.index_jsp._jspx_meth_s_005fform_005f0(index_jsp.java:192) > > > at org.apache.jsp.index_jsp._jspService(index_jsp.java:141) > > > at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) > > > at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) > > > at > > > > > > org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:456) > > > at > > org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:380) > > > at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:328) > > > at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) > > > at > > > > > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:206) > > > at > > > > > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) > > > at > org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) > > > at > > > > > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) > > > at > > > > > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) > > > at > > > > > > org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter.handleRequest(StrutsPrepareAndExecuteFilter.java:151) > > > at > > > > > > org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter.tryHandleRequest(StrutsPrepareAndExecuteFilter.java:137) > > > at > > > > > > org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:125) > > > at > > > > > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:175) > > > at > > > > > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:150) > > > at > > > > > > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) > > > at > > > > > > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) > > > at > > > > > > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) > > > at > > > > > > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) > > > at > > > > > > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) > > > at > > > > > > org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:673) > > > at > > > > > > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) > > > at > > > > > > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) > > > at > > > > > > org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) > > > at > > > > > > org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) > > > at > > > > > > org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) > > > at > > > org.apache.tomcat.util.net > > .NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736) > > > at > > > org.apache.tomcat.util.net > > .SocketProcessorBase.run(SocketProcessorBase.java:52) > > > at > > > > > > org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) > > > at > > > > > > org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) > > > at > > > > > > org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) > > > at java.base/java.lang.Thread.run(Thread.java:1583) > > > > > > On Thu, Apr 17, 2025 at 12:04 PM shankar sawate < > > > sawateshankar...@gmail.com> wrote: > > > > > >> Thank you for your response. > > >> > > >> I'm using NetBeans 17 as the IDE, with Java 21, and running the > > >> application on Tomcat 10.0.20. > > >> The issue occurs when I try to run the web application from within the > > >> IDE. > > >> > > >> NetBeans shows the following error when the issue occurs: > > >> > > >> The s:form tag declares that it accepts dynamic attributes but does > not > > >> implement the required interface > > >> > > >> <%@page contentType="text/html" pageEncoding="UTF-8"%> > > >> <%@ taglib prefix="s" uri="/struts-tags" %> > > >> <!DOCTYPE html> > > >> <html> > > >> <head> > > >> <meta http-equiv="Content-Type" content="text/html; > > >> charset=UTF-8"> > > >> <title>JSP Page</title> > > >> </head> > > >> <body> > > >> <h1>Hello World!</h1> > > >> <s:form> <!-- The s:form tag declares that it accepts > > >> dynamic attributes but does not implement the required interface --> > > >> <s:textfield name="name" value="Enter U name"/> > > >> <s:submit name="submit" value="Add" > > action="index"></s:submit> > > >> </s:form> > > >> </body> > > >> </html> > > >> > > >> On Thu, Apr 17, 2025 at 10:59 AM Lukasz Lenart < > lukaszlen...@apache.org > > > > > >> wrote: > > >> > > >>> wt., 15 kwi 2025 o 09:57 shankar sawate <sawateshankar...@gmail.com> > > >>> napisał(a): > > >>> > While migrating to Struts 7.0.0, I'm encountering an issue when > using > > >>> the > > >>> > <s:form> tag. Even though the tag is present like this > > >>> > > > >>> > jsp > > >>> > <%--<s:form></s:form>--%> > > >>> > I’m getting the following warning or error: > > >>> > > > >>> > The s:form tag declares that it accepts dynamic attributes but does > > not > > >>> > implement the required interface > > >>> > > >>> It would be good to provide more details, when does it happen? What > > >>> Java version do you use? Is this in an IDE or when running a webapp > in > > >>> a container? > > >>> > > >>> There are a bunch of examples which are working just fine, so I > assume > > >>> it's something wrong with your setup. > > >>> https://github.com/apache/struts-examples/ > > >>> > > >>> > > >>> Cheers > > >>> Łukasz > > >>> > > >>> --------------------------------------------------------------------- > > >>> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org > > >>> For additional commands, e-mail: user-h...@struts.apache.org > > >>> > > >>> > > >