You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Derrick Koes <De...@skillsoft.com> on 2009/03/31 21:58:09 UTC

ServletUrlRenderer.renderFormUrl NPE moving from 2.0.14 to 2.1.16

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)


Freemarker ServletUrlRenderer.renderFormUrl NPE moving from 2.0.14 to 2.1.16

Posted by Derrick Koes <De...@skillsoft.com>.
Martin,

I don't think I understand your question.  I have a freemarker template.
There is no jsp involved.

The problem is in rendering the struts form tag (in freemarker this is
@s.form).

If I use this, then I get the NPE and nothing renders.
<@s.form method="POST" name="newuser" theme="simple">

If I simply change to the HTML form like below then everything renders
without an NPE.
<form method="POST" name="newuser">

So, I believe I must have some missing configuration or there is a
defect in 2.1.16.

Do you have any ideas?

Thanks,
Derrick

-----Original Message-----
From: Martin Gainty [mailto:mgainty@hotmail.com] 
Sent: Tuesday, March 31, 2009 4:39 PM
To: Struts Users Mailing List
Subject: RE: ServletUrlRenderer.renderFormUrl NPE moving from 2.0.14 to
2.1.16


Hi Derrick-

could you check your jsp to determine
where you push nameValue onto the OGNL ValueStack?

Martin Gainty 
______________________________________________ 
Verzicht und Vertraulichkeitanmerkung / Disclaimer and confidentiality
note 
Diese Nachricht ist vertraulich. Sollten Sie nicht der vorgesehene
Empfaenger sein, so bitten wir hoeflich um eine Mitteilung. Jede
unbefugte Weiterleitung oder Fertigung einer Kopie ist unzulaessig.
Diese Nachricht dient lediglich dem Austausch von Informationen und
entfaltet keine rechtliche Bindungswirkung. Aufgrund der leichten
Manipulierbarkeit von E-Mails koennen wir keine Haftung fuer den Inhalt
uebernehmen.
This message is confidential and may be privileged. If you are not the
intended recipient, we kindly ask you to  please inform the sender. Any
unauthorised dissemination or copying hereof is prohibited. This message
serves for information purposes only and shall not have any legally
binding effect. Given that e-mails can easily be subject to
manipulation, we can not accept any liability for the content provided.






> Subject: ServletUrlRenderer.renderFormUrl NPE moving from 2.0.14 to
2.1.16
> Date: Tue, 31 Mar 2009 15:58:09 -0400
> From: Derrick_Koes@skillsoft.com
> To: user@struts.apache.org
> 
> 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)
> 

_________________________________________________________________
Internet Explorer 8 - Get your Hotmail Accelerated.  Download free!
http://clk.atdmt.com/MRT/go/141323790/direct/01/

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


RE: ServletUrlRenderer.renderFormUrl NPE moving from 2.0.14 to 2.1.16

Posted by Martin Gainty <mg...@hotmail.com>.
Hi Derrick-

could you check your jsp to determine
where you push nameValue onto the OGNL ValueStack?

Martin Gainty 
______________________________________________ 
Verzicht und Vertraulichkeitanmerkung / Disclaimer and confidentiality note 
Diese Nachricht ist vertraulich. Sollten Sie nicht der vorgesehene Empfaenger sein, so bitten wir hoeflich um eine Mitteilung. Jede unbefugte Weiterleitung oder Fertigung einer Kopie ist unzulaessig. Diese Nachricht dient lediglich dem Austausch von Informationen und entfaltet keine rechtliche Bindungswirkung. Aufgrund der leichten Manipulierbarkeit von E-Mails koennen wir keine Haftung fuer den Inhalt uebernehmen.
This message is confidential and may be privileged. If you are not the intended recipient, we kindly ask you to  please inform the sender. Any unauthorised dissemination or copying hereof is prohibited. This message serves for information purposes only and shall not have any legally binding effect. Given that e-mails can easily be subject to manipulation, we can not accept any liability for the content provided.






> Subject: ServletUrlRenderer.renderFormUrl NPE moving from 2.0.14 to 2.1.16
> Date: Tue, 31 Mar 2009 15:58:09 -0400
> From: Derrick_Koes@skillsoft.com
> To: user@struts.apache.org
> 
> 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)
> 

_________________________________________________________________
Internet Explorer 8 – Get your Hotmail Accelerated.  Download free!
http://clk.atdmt.com/MRT/go/141323790/direct/01/