I'm upgrading to use the latest best available struts 2 (I use freemarker in both 2.0.14 and the new 2.1.16) and I am hitting a problem with the form tag I believe.
ServletUrlRenderer.renderFormUrl method accesses the actionMapper member, but this member is null. Hence, I get the stack trace NPE listed. Am I missing something in configuration? How/where is the actionMapper as used on line 128 supposed to be initialized? Relevant parts are: <interceptor-stack name="skillportAdminValidationStack"> <interceptor-ref name="timer"/> <interceptor-ref name="exception"/> <!-- skillport must be before servletConfig --> <interceptor-ref name="skillport"/> <interceptor-ref name="servletConfig"/> <interceptor-ref name="prepare"/> <interceptor-ref name="i18n"/> <interceptor-ref name="chain"/> <interceptor-ref name="debugging"/> <interceptor-ref name="profiling"/> <interceptor-ref name="scopedModelDriven"/> <interceptor-ref name="modelDriven"/> <interceptor-ref name="fileUpload"/> <interceptor-ref name="checkbox"/> <interceptor-ref name="staticParams"/> <interceptor-ref name="params"> <param name="excludeParams">dojo\..*</param> </interceptor-ref> <interceptor-ref name="conversionError"/> <interceptor-ref name="validation"> <param name="excludeMethods">advGroup, help</param> </interceptor-ref> <interceptor-ref name="workflow"> <param name="excludeMethods">advGroup, help</param> </interceptor-ref> </interceptor-stack> <package name="admin" namespace="/admin" extends="skillport-default"> <action name="NewUser" class="com.skillsoft.skillport.fe.admin.userandgroup.UserAction" method="setup"> <param name="pageInfo">user</param> <result name="success" type="freemarker"> <param name="location">/WEB-INF/ftl/admin/userandgroup/usercreate.ftl</param> </result> </action> java.lang.NullPointerException at org.apache.struts2.components.ServletUrlRenderer.renderFormUrl(ServletUr lRenderer.java:128) at org.apache.struts2.components.PortletUrlRenderer.renderFormUrl(PortletUr lRenderer.java:123) at org.apache.struts2.components.Form.populateComponentHtmlId(Form.java:228 ) at org.apache.struts2.components.UIBean.evaluateParams(UIBean.java:784) at org.apache.struts2.components.ClosingUIBean.start(ClosingUIBean.java:57) at org.apache.struts2.views.freemarker.tags.CallbackWriter.onStart(Callback Writer.java:73) at freemarker.core.Environment.visit(Environment.java:294) at freemarker.core.UnifiedCall.accept(UnifiedCall.java:130) at freemarker.core.Environment.visit(Environment.java:208) at freemarker.core.MixedContent.accept(MixedContent.java:92) at freemarker.core.Environment.visit(Environment.java:208) at freemarker.core.Environment.process(Environment.java:188) at freemarker.template.Template.process(Template.java:237)