You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by "Smyth, Colm" <cs...@paddypower.com> on 2007/02/16 13:51:48 UTC

Postback forms not working with my tiles configuration

Hi All,

I'm having problems using Postback forms with my tiles configuration. I am using the html-form.jsp from the examples as my postback form. This is working fine when run from within the examples jar however it fail with the shown below error when placed inside my own struts-config.

I have seen a related issue in the Struts JIRA

https://issues.apache.org/struts/browse/STR-2935

and have applied the changes to my chain-config.xml

Here are the relevant entries in the struts-config

<form-bean name="testbean" type="com.TestBean"/>

<action path="/html-form" forward="/pages/jsp/html-form.jsp" name="testbean" scope="session" validate="false"/>

<controller inputForward="true" nocache="true" processorClass="org.apache.struts.tiles.TilesRequestProcessor" bufferSize="4096" />

<plug-in className="org.apache.struts.tiles.TilesPlugin">
	<set-property property="definitions-config" 
	value="/WEB-INF/tiles-defs.xml"/>
	<set-property property="moduleAware" value="true" />
	<set-property property="definitions-parser-validate" value="true" />
</plug-in>

And in the web.xml I start struts with the following

<servlet>
<servlet-name>action</servlet-name>
	<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
	<init-param>
		<param-name>config</param-name>
		<param-value>/WEB-INF/struts-config.xml</param-value>
	</init-param>
	<init-param>
		<param-name>chainConfig</param-name>
		<param-value>path to altered chain config</param-value>
	</init-param>
	<load-on-startup>2</load-on-startup>
</servlet>


Could anybody help me out here?

Best regards, Colm


org.apache.jasper.JasperException        org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:512)       org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:395)        org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
        org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:802)       org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1054)        org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:292)        org.apache.struts.action.RequestProcessor.internalModuleRelativeForward(RequestProcessor.java:998)        org.apache.struts.tiles.TilesRequestProcessor.internalModuleRelativeForward(TilesRequestProcessor.java:371)       org.apache.struts.action.RequestProcessor.processForward(RequestProcessor.java:548)       org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:209) org.apache.struts.action.ActionServlet.process(ActionServlet.java:1858)
        org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:446)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:802)        com.paddypower.ams.servlet.filter.LocaleFilter.doFilter(LocaleFilter.java:108)        com.paddypower.ams.utils.HibernateFilter.doFilter(HibernateFilter.java:25)   com.paddypower.ams.portal.filter.SessionFilter.doFilter(SessionFilter.java:78)

root cause 
java.lang.NullPointerException
        org.apache.struts.taglib.TagUtils.getActionMappingName(TagUtils.java:571)
        org.apache.struts.taglib.html.FormTag.lookup(FormTag.java:773)
        org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:417)
       org.apache.jsp.pages.jsp.html_002dform_jsp._jspx_meth_html_form_0(html_002dform_jsp.java:260)
       org.apache.jsp.pages.jsp.html_002dform_jsp._jspService(html_002dform_jsp.java:168)
        org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
       org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
       org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
        org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
       org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1054)
       org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:292)
       org.apache.struts.action.RequestProcessor.internalModuleRelativeForward(RequestProcessor.java:998)
       org.apache.struts.tiles.TilesRequestProcessor.internalModuleRelativeForward(TilesRequestProcessor.java:371)
       org.apache.struts.action.RequestProcessor.processForward(RequestProcessor.java:548)
       org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:209)
       org.apache.struts.action.ActionServlet.process(ActionServlet.java:1858)
        org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:446)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
       com.paddypower.ams.servlet.filter.LocaleFilter.doFilter(LocaleFilter.java:108)
       com.paddypower.ams.utils.HibernateFilter.doFilter(HibernateFilter.java:25)
       com.paddypower.ams.portal.filter.SessionFilter.doFilter(SessionFilter.java:78)


________________________________________________________________________
Privileged, confidential and/or copyright information may be contained in this communication. This e-mail and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you are not the intended addressee, you may not copy, forward, disclose or otherwise use this e-mail or any part of it in any way whatsoever. To do so is prohibited and may be unlawful. If you have received this email in error 
please notify the sender immediately.

Paddy Power PLC may monitor the content of e-mail sent and received for the purpose of ensuring compliance with its policies and procedures.
________________________________________________________________________

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


Re: Postback forms not working with my tiles configuration

Posted by Niall Pemberton <ni...@gmail.com>.
Struts 1.3.x introduced the ComposaleRequestProcessor based on Commons
Chain - Post Back forms were only implemented as a Command used by the
ComposaleRequestProcessor and not in the original
RequestProcessor/TilesRequestProcessor flavours. You are specifying
using the TilesRequestProcessor in your struts-config.xml (using the
processorClass in the <controller> element). You need to remove that
and specify the tiles "chain" config instead.

Take a look at the 1.2 --> 1.3 upgrade notes on how to do this:

  http://wiki.apache.org/struts/StrutsUpgradeNotes12to13

Niall

On 2/16/07, Smyth, Colm <cs...@paddypower.com> wrote:
> Hi All,
>
> I'm having problems using Postback forms with my tiles configuration. I am using the html-form.jsp from the examples as my postback form. This is working fine when run from within the examples jar however it fail with the shown below error when placed inside my own struts-config.
>
> I have seen a related issue in the Struts JIRA
>
> https://issues.apache.org/struts/browse/STR-2935
>
> and have applied the changes to my chain-config.xml
>
> Here are the relevant entries in the struts-config
>
> <form-bean name="testbean" type="com.TestBean"/>
>
> <action path="/html-form" forward="/pages/jsp/html-form.jsp" name="testbean" scope="session" validate="false"/>
>
> <controller inputForward="true" nocache="true" processorClass="org.apache.struts.tiles.TilesRequestProcessor" bufferSize="4096" />
>
> <plug-in className="org.apache.struts.tiles.TilesPlugin">
>         <set-property property="definitions-config"
>         value="/WEB-INF/tiles-defs.xml"/>
>         <set-property property="moduleAware" value="true" />
>         <set-property property="definitions-parser-validate" value="true" />
> </plug-in>
>
> And in the web.xml I start struts with the following
>
> <servlet>
> <servlet-name>action</servlet-name>
>         <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
>         <init-param>
>                 <param-name>config</param-name>
>                 <param-value>/WEB-INF/struts-config.xml</param-value>
>         </init-param>
>         <init-param>
>                 <param-name>chainConfig</param-name>
>                 <param-value>path to altered chain config</param-value>
>         </init-param>
>         <load-on-startup>2</load-on-startup>
> </servlet>
>
>
> Could anybody help me out here?
>
> Best regards, Colm
>
>
> org.apache.jasper.JasperException org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:512) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:395) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>  org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>  javax.servlet.http.HttpServlet.service(HttpServlet.java:802) org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1054) org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:292) org.apache.struts.action.RequestProcessor.internalModuleRelativeForward(RequestProcessor.java:998) org.apache.struts.tiles.TilesRequestProcessor.internalModuleRelativeForward(TilesRequestProcessor.java:371) org.apache.struts.action.RequestProcessor.processForward(RequestProcessor.java:548) org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:209) org.apache.struts.action.ActionServlet.process(ActionServlet.java:1858)
>  org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:446)
>  javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
>  javax.servlet.http.HttpServlet.service(HttpServlet.java:802) com.paddypower.ams.servlet.filter.LocaleFilter.doFilter(LocaleFilter.java:108) com.paddypower.ams.utils.HibernateFilter.doFilter(HibernateFilter.java:25) com.paddypower.ams.portal.filter.SessionFilter.doFilter(SessionFilter.java:78)
>
> root cause
> java.lang.NullPointerException
>  org.apache.struts.taglib.TagUtils.getActionMappingName(TagUtils.java:571)
>  org.apache.struts.taglib.html.FormTag.lookup(FormTag.java:773)
>  org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:417)
> org.apache.jsp.pages.jsp.html_002dform_jsp._jspx_meth_html_form_0(html_002dform_jsp.java:260)
> org.apache.jsp.pages.jsp.html_002dform_jsp._jspService(html_002dform_jsp.java:168)
>  org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>  javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>  org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>  javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1054)
> org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:292)
> org.apache.struts.action.RequestProcessor.internalModuleRelativeForward(RequestProcessor.java:998)
> org.apache.struts.tiles.TilesRequestProcessor.internalModuleRelativeForward(TilesRequestProcessor.java:371)
> org.apache.struts.action.RequestProcessor.processForward(RequestProcessor.java:548)
> org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:209)
> org.apache.struts.action.ActionServlet.process(ActionServlet.java:1858)
>  org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:446)
>  javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
>  javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> com.paddypower.ams.servlet.filter.LocaleFilter.doFilter(LocaleFilter.java:108)
> com.paddypower.ams.utils.HibernateFilter.doFilter(HibernateFilter.java:25)
> com.paddypower.ams.portal.filter.SessionFilter.doFilter(SessionFilter.java:78)
>
>
> ________________________________________________________________________
> Privileged, confidential and/or copyright information may be contained in this communication. This e-mail and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you are not the intended addressee, you may not copy, forward, disclose or otherwise use this e-mail or any part of it in any way whatsoever. To do so is prohibited and may be unlawful. If you have received this email in error
> please notify the sender immediately.
>
> Paddy Power PLC may monitor the content of e-mail sent and received for the purpose of ensuring compliance with its policies and procedures.
> ________________________________________________________________________
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
>
>

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