I have hit upon the same problem as this thread, but I didn't see a resolution.
It seems that in Struts 1.0, there must be an ActionForm for every page that has a
form in it -- or, indeed, an ActionForm for every form, including one for each form on
a page.
I had thought that I could have an Action class that would read the FORM parameters
directly, but that I would not need an ActionForm for each screen.
(One of the goals for Struts 1.1 seems to address this.)
Is the above correct, or am I missing something?
Thanks.
Bill Firestone
At 03:09 PM 4/30/2001 +0530, Tewathia, Atul wrote:
>I feel there is some problem.
>I tried the same thing but I get the following error on console. It shows
>that it is trying to instantiate a form bean corresponding to an action
>mapping. And if i am not specifying one it gives an error. How do I handle
>this situation when I don't need a form ???
>
>OneForm instantiated
>TwoaeForm instantiated
>TwokeyForm instantiated
><Apr 13, 2001 2:54:59 PM GMT+05:30> <Error> <HTTP>
><[WebAppServletContext(446938
>,threeoseven)] Root cause of ServletException
>javax.servlet.jsp.JspException: Cannot retrieve definition for form bean
>null
> at org.apache.struts.taglib.html.FormTag.lookup(FormTag.java:725)
> at
>org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:441)
> at jsp_servlet._two._jspService(_two.java:345)
> at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
> at
>weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
>
>the config.xml used by me is here ...
>
><struts-config>
> <form-beans>
> <form-bean name="oneForm" type="org.apache.struts.myprog.OneForm"/>
> <form-bean name="twokeyForm"
>type="org.apache.struts.myprog.TwokeyForm"/>
> <form-bean name="twoaeForm" type="org.apache.struts.myprog.TwoaeForm"/>
> </form-beans>
> <action-mappings>
> <action path="/One" type="org.apache.struts.myprog.OneAction"
>name="oneForm">
> <forward name="Two" path="/Two.jsp" />
> </action>
> <action path="/Twoae" type="org.apache.struts.myprog.TwoAction"
>name="twoaeForm">
> <forward name="Three" path="/Three.jsp" />
> </action>
> <action path="/Twokey" type="org.apache.struts.myprog.TwoAction"
>name="twokeyForm">
> <forward name="Three" path="/Three.jsp" />
> </action>
> <action path="/Twoprev" type="org.apache.struts.myprog.TwoAction">
> <forward name="One" path="/One.jsp" />
> </action>
> </action-mappings>
></struts-config>
>
>
>-----Original Message-----
>From: Tobias Meyer [mailto:[EMAIL PROTECTED]]
>Sent: Wednesday, April 18, 2001 4:17 PM
>To: [EMAIL PROTECTED]
>Subject: RE: No ActionForm Bean Required
>
>
>Hi Stanley,
>
>> Let's say I have a link that allows a user to empty his/her shopping
>> cart. The link to empty the cart points to "/empty.do". I
>> do not believe
>> this requires an ActionForm bean (PLEASE, correct me if I am
>> wrong). Nonetheless, I have specified an ActionForm Bean
>> because it is
>> required:
>>
>> <action path="/empty"
>> type="EmptyAction"
>> name="buyBean"
>> scope="request">
>> <forward name="success" path="/viewcart.jsp"/>
>> </action>
>>
>> The bean is NOT used and has nothing to do with emptying the shopping
>> cart. Do I just accept that it works? Or am I designing the program
>> wrong? Please help.
>
>You don't have to specifiy an ActionForm if you don't need one.
>Watch the LogoffAction in the example shipped with struts:
>
><!-- Process a user logoff -->
><action path="/logoff"
> type="org.apache.struts.example.LogoffAction">
> <forward name="success" path="/index.jsp"/>
></action>
>
>Hope this helps,
>
>Tobias Meyer