Yes, That fixed my issue. I am going to convert the Codebehind to Convention now. But app is working well now with suggested changes.
Thank you very much for the support. Regards, Vidula. Vidula Hasaranga Consultant Technology [image: ACCELaero] <http://www.accelaero.com> <http://www.worldtravelawards.com/award-travel-technologys-leading-pss-provider-2015> Information Systems Associates (Pvt) Ltd, Colombo 3, Sri Lanka Tel *+94112058886* - Mob *+94773799694* - Fax *+971 65528857* *accelaero.com* <http://accelaero.com> ⸰ *LinkedIn* <https://www.linkedin.com/company/information-systems-associates-fze> ⸰ *Twitter* <https://twitter.com/isafeeds> On Thu, Jul 7, 2016 at 5:04 PM, Lukasz Lenart <lukaszlen...@apache.org> wrote: > It's a bug related to this change [1] and this commit [2] and the > problem is here [3] & [4]. The best option is to migrate to the > Convention plugin instead of using deprecated Codebehind or define you > own JSONResult as follow: > > public class MyJSONResult extends JSONResult { > > public static final String DEFAULT_PARAM = "root"; > > } > > [1] https://issues.apache.org/jira/browse/WW-4163 > [2] > https://github.com/apache/struts/commit/6cfc28b359949c4e87e8e75316b11dbf19a33419 > [3] > https://github.com/apache/struts/blob/support-2-3/plugins/codebehind/src/main/java/org/apache/struts2/config/ClasspathPackageProvider.java#L655 > [4] > https://github.com/apache/struts/blob/support-2-3/plugins/codebehind/src/main/java/org/apache/struts2/config/ClasspathPackageProvider.java#L666 > > > Regards > -- > Łukasz > + 48 606 323 122 http://www.lenart.org.pl/ > > 2016-07-07 11:33 GMT+02:00 Vidula Hasaranga <vhasara...@isa.ae>: > > Yes, making the file rename to struts.xml and putting that in > > WEB-INF/classes folder resolved the 404 issue that I had. But now it > gives > > a different error with code 500. > > > > Console log is as follows: > > > > 07-Jul-2016 14:48:33.430 SEVERE [http-nio-7070-exec-4] > > com.opensymphony.xwork2.util.logging.commons.CommonsLogger.error There > was > > an exception while instantiating the result of type > > org.apache.struts2.json.JSONResult > > java.lang.NullPointerException > > at > java.util.concurrent.ConcurrentHashMap.hash(ConcurrentHashMap.java:333) > > at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:988) > > at > > > com.opensymphony.xwork2.ognl.OgnlUtil.compileAndExecute(OgnlUtil.java:373) > > at com.opensymphony.xwork2.ognl.OgnlUtil.setValue(OgnlUtil.java:288) > > at > > > com.opensymphony.xwork2.ognl.OgnlUtil.internalSetProperty(OgnlUtil.java:617) > > at com.opensymphony.xwork2.ognl.OgnlUtil.setProperty(OgnlUtil.java:239) > > at > > > com.opensymphony.xwork2.ognl.OgnlReflectionProvider.setProperty(OgnlReflectionProvider.java:90) > > at > > > org.apache.struts2.factory.StrutsResultFactory.setParameter(StrutsResultFactory.java:67) > > at > > > org.apache.struts2.factory.StrutsResultFactory.setParameters(StrutsResultFactory.java:52) > > at > > > org.apache.struts2.factory.StrutsResultFactory.buildResult(StrutsResultFactory.java:41) > > at > com.opensymphony.xwork2.ObjectFactory.buildResult(ObjectFactory.java:219) > > at > > > com.opensymphony.xwork2.DefaultActionInvocation.createResult(DefaultActionInvocation.java:215) > > at > > > com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:366) > > at > > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:276) > > at > > > org.apache.struts2.interceptor.DeprecationInterceptor.intercept(DeprecationInterceptor.java:41) > > at > > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) > > at > > > org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:256) > > at > > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) > > at > > > com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:168) > > at > > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > > at > > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) > > at > > > com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:265) > > at > > > org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:76) > > at > > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > > at > > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) > > at > > > com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:138) > > at > > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) > > at > > > com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:229) > > at > > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > > at > > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) > > at > > > com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:229) > > at > > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > > at > > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) > > at > > > com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:191) > > at > > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) > > at > > > org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:73) > > at > > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) > > at > > > org.apache.struts2.interceptor.DateTextFieldInterceptor.intercept(DateTextFieldInterceptor.java:125) > > at > > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) > > at > > > org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:91) > > at > > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) > > at > > > org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:253) > > at > > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) > > at > > > com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100) > > at > > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) > > at > > > com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141) > > at > > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) > > at > > > com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:145) > > at > > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) > > at > > > com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171) > > at > > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > > at > > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) > > at > > > com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:140) > > at > > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) > > at > > > org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164) > > at > > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) > > at > > > com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:193) > > at > > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) > > at > > > com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:189) > > at > > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) > > at > > > org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:54) > > at > > > org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:567) > > at > > > org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:81) > > at > > > org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:99) > > at > > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) > > at > > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > > at > > > com.isa.maxaero.web.filter.UserMDCServletFilter.doFilter(UserMDCServletFilter.java:57) > > at > > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) > > at > > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > > at > > > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) > > at > > > org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118) > > at > > > org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84) > > at > > > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > > at > > > org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113) > > at > > > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > > at > > > org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103) > > at > > > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > > at > > > org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113) > > at > > > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > > at > > > org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54) > > at > > > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > > at > > > org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45) > > at > > > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > > at > > > org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:183) > > at > > > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > > at > > > org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105) > > at > > > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > > at > > > org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:125) > > at > > > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > > at > > > org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87) > > at > > > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > > at > > > org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192) > > at > > > org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160) > > at > > > org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237) > > at > > > org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167) > > at > > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) > > at > > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > > at > > > com.isa.maxaero.web.filter.AuthRedirectFilter.doFilter(AuthRedirectFilter.java:69) > > at > > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) > > at > > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > > at > > > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219) > > at > > > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) > > at > > > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) > > at > > > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142) > > at > > > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) > > at > > > org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610) > > at > > > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) > > at > > > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:537) > > at > > > org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1085) > > at > > > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:658) > > at > > > org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222) > > at > > > org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1556) > > at > > > org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1513) > > at > > > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > > at > > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > > at > > > org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) > > at java.lang.Thread.run(Thread.java:745) > > > > 07-Jul-2016 14:48:33.432 SEVERE [http-nio-7070-exec-4] > > freemarker.log._JULLoggerFactory$JULLogger.error Error executing > FreeMarker > > template > > FreeMarker template error: > > The FreeMarker value exists, but has nothing inside it; the TemplateModel > > object (class: freemarker.ext.beans.StringModel) has returned a null > > instead of a String. This is possibly a bug in the non-FreeMarker code > that > > builds the data-model. > > The blamed expression: > > ==> ex [in template "org/apache/struts2/dispatcher/error.ftl" at line > 129, > > column 15] > > > > ---- > > FTL stack trace ("~" means nesting-related): > > - Failed at: ${ex?html} [in template > > "org/apache/struts2/dispatcher/error.ftl" at line 129, column 13] > > ---- > > > > Java stack trace (for programmers): > > ---- > > freemarker.core._TemplateModelException: [... Exception message was > already > > printed; see it above ...] > > at > freemarker.core.EvalUtil.newModelHasStoredNullException(EvalUtil.java:92) > > at freemarker.core.EvalUtil.modelToString(EvalUtil.java:61) > > at freemarker.core.EvalUtil.coerceModelToString(EvalUtil.java:340) > > at freemarker.core.Expression.evalAndCoerceToString(Expression.java:82) > > at freemarker.core.BuiltInForString._eval(BuiltInForString.java:26) > > at freemarker.core.Expression.eval(Expression.java:78) > > at freemarker.core.Expression.evalAndCoerceToString(Expression.java:82) > > at freemarker.core.DollarVariable.accept(DollarVariable.java:40) > > at freemarker.core.Environment.visit(Environment.java:312) > > at freemarker.core.MixedContent.accept(MixedContent.java:62) > > at freemarker.core.Environment.visitByHiddingParent(Environment.java:333) > > at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:148) > > at freemarker.core.Environment.visitIteratorBlock(Environment.java:559) > > at freemarker.core.IteratorBlock.accept(IteratorBlock.java:67) > > at freemarker.core.Environment.visit(Environment.java:312) > > at freemarker.core.MixedContent.accept(MixedContent.java:62) > > at freemarker.core.Environment.visit(Environment.java:312) > > at freemarker.core.Environment.process(Environment.java:290) > > at freemarker.template.Template.process(Template.java:312) > > at > > > org.apache.struts2.dispatcher.DefaultDispatcherErrorHandler.handleErrorInDevMode(DefaultDispatcherErrorHandler.java:99) > > at > > > org.apache.struts2.dispatcher.DefaultDispatcherErrorHandler.handleError(DefaultDispatcherErrorHandler.java:57) > > at > org.apache.struts2.dispatcher.Dispatcher.sendError(Dispatcher.java:912) > > at > > > org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:579) > > at > > > org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:81) > > at > > > org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:99) > > at > > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) > > at > > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > > at > > > com.isa.maxaero.web.filter.UserMDCServletFilter.doFilter(UserMDCServletFilter.java:57) > > at > > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) > > at > > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > > at > > > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) > > at > > > org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118) > > at > > > org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84) > > at > > > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > > at > > > org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113) > > at > > > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > > at > > > org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103) > > at > > > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > > at > > > org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113) > > at > > > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > > at > > > org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54) > > at > > > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > > at > > > org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45) > > at > > > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > > at > > > org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:183) > > at > > > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > > at > > > org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105) > > at > > > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > > at > > > org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:125) > > at > > > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > > at > > > org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87) > > at > > > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > > at > > > org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192) > > at > > > org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160) > > at > > > org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237) > > at > > > org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167) > > at > > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) > > at > > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > > at > > > com.isa.maxaero.web.filter.AuthRedirectFilter.doFilter(AuthRedirectFilter.java:69) > > at > > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) > > at > > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > > at > > > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219) > > at > > > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) > > at > > > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) > > at > > > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142) > > at > > > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) > > at > > > org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610) > > at > > > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) > > at > > > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:537) > > at > > > org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1085) > > at > > > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:658) > > at > > > org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222) > > at > > > org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1556) > > at > > > org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1513) > > at > > > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > > at > > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > > at > > > org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) > > at java.lang.Thread.run(Thread.java:745) > > > > > > I have to mention that struts2-json-plugin-2.3.29.jar is in my classpath > > with freemarker-2.3.22.jar. (I have build using maven so all the > > dependencies load as per configurations) > > > > In Action class, I have put following configurations and the calling > method > > return 'json' as return value: > > > > @Namespace(S2Constants.Namespace.PRIVATE_DASHBOARD) > > @Results({ @Result(name = "success", value = > > "/private/user/ui/manageUser.jsp"), > > @Result(name = "json", value = "", type = JSONResult.class) }) > > > > Any idea on this... > > > > Regards, > > > > Vidula Hasaranga > > Consultant Technology > > > > [image: ACCELaero] <http://www.accelaero.com> > > < > http://www.worldtravelawards.com/award-travel-technologys-leading-pss-provider-2015 > > > > Information > > Systems Associates (Pvt) Ltd, Colombo 3, Sri Lanka > > Tel *+94112058886* - Mob *+94773799694* - Fax *+971 65528857* > > *accelaero.com* <http://accelaero.com> ⸰ *LinkedIn* > > <https://www.linkedin.com/company/information-systems-associates-fze> ⸰ > > *Twitter* <https://twitter.com/isafeeds> > > > > > > On Thu, Jul 7, 2016 at 10:47 AM, Lukasz Lenart <lukaszlen...@apache.org> > > wrote: > > > >> 2016-07-06 9:19 GMT+02:00 Vidula Hasaranga <vhasara...@isa.ae>: > >> > web.xml > >> > > >> > <filter> > >> > <filter-name>struts2</filter-name> > >> > > >> > <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> > >> > <init-param> > >> > <param-name>config</param-name> > >> > <param-value>struts-default.xml, > >> > struts-plugin.xml, > >> > > /WEB-INF/struts-config.xml</param-value> > >> > >> This is the issue and it never worked - Struts doesn't lookup for > >> resources in /WEB-INF folder. The best option is to drop this > >> configuration and rename "struts-config.xml" into "struts.xml" and put > >> it under "classes" folder (or if you are using Maven put it under > >> "resources") > >> > >> > >> Regards > >> -- > >> Łukasz > >> + 48 606 323 122 http://www.lenart.org.pl/ > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org > >> For additional commands, e-mail: user-h...@struts.apache.org > >> > >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-unsubscr...@struts.apache.org > For additional commands, e-mail: user-h...@struts.apache.org > >