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)