struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Howard Miller" ...@howardmiller.co.uk>
Subject Re: How to add a pre-action
Date Sun, 20 Oct 2002 17:29:44 GMT
That helps a lot... just one question if you don't mind... can I check how you would 
forward from the prepareListBookAction to the bookSearch.jsp. I assume you are just 
using mapping.findForward( "success" ). That didn't work for me... which is really why 
I started thinking that I was doing totally the wrong thing. Could (of course) be some 
stupid error!

I'm off to try harder... thanks!

HM

On 20 Oct 2002 at 10:10, Phil Steitz wrote:

> Howard Miller wrote:
> > I think I'm seriously missing the point here! I have looked at the example application

> > in some detail and it appears to add a parameter (eg, ?action=new) to tell the action

> > for a form to perform an initialising action. I don't see it using a "pre-" action.
> > 
> > I am incredibly stuck with the concept of how to code an action that is not 
> > encumbered with *special* parameters to pre-load the bean data. My particular 
> > problem is that I have pages where the previous page cannot be predicted, so the
jsp 
> > must have a means of loading its own data.
> > 
> > I would really appreciated some pointers as to how to set this up. *** I particularly

> > don't understand how to get the action to call the following JSP *** (ie, I would
really 
> > appreciate some specific - example - help on this!! ). At least every method I have

> > tried doesn't work.
> 
> Here is a simple example showing one way to deal with this type of 
> thing. There are no doubt lots of other ways to handle this.
> 
> Use case: library search.  User page flow: main menu -> search input 
> page (bookSearch.jsp) -> search results page (listBook.jsp).  The search 
> input page needs to be pre-populated with a list of currently defined 
> subjects.
> 
> Struts processing flow: main menu -> search input pre-populate action 
> (PrepareListBookAction) -> search input page (bookSearch.jsp) -> search 
> processing action (ListBookAction) -> search results page (booklist.jsp).
> 
> In struts-config:
> 
> <!-- Prepare Book Search (populates subject list) -->
>      <action path="/a/prepareListBook"
> 	    name="bookSearchForm"
> 	    type="com.steitz.library.PrepareListBookAction"
>              validate="false"
> 	    scope="request">
> 	    <forward name="success" path="/a/bookSearch.jsp"/>
>      </action>
> 
>      <!-- Book Search -->
>      <action path="/a/listBook"
> 	    name="bookSearchForm"
> 	    type="com.steitz.library.ListBookAction"
>              scope="request"
> 	    input="/a/bookSearch.jsp"
> 	    validate="true">
> 	    <forward name="success" path="/a/booklist.jsp"/>
>      </action>
> 
> In the main menu:
> 
> <a href="prepareListBook.do">
>      <bean:message key="index.find"/></a>
> (here "index.find" = "Find a Book".)
> 
> PrepareListBookAction retrieves the list of currently defined subjects 
> and sets a property of the (automatically created) BookSearchForm for 
> the book search input form (bookSearch.jsp) to use.
> 
> The key concept is that instead of linking/forwarding to the input jsp 
> directly, you link/forward to the pre-population action and then have 
> the pre-population action set up the form bean and then forward to the 
> input jsp.
> 
> Hope this helps,
> 
> Phil
> 
> 
> 
> 
> 
> 
> 
> > 
> > I do understand how to actually create a bean manually and put in in the scope.
I 
> > don't understand how to set up a generic preload action for a given JSP/ActionForm,

> > and what the config should look like.
> > 
> > Again, any help much appreciated.
> > 
> > HM
> > 
> > On 20 Oct 2002 at 8:43, David M. Karr wrote:
> > 
> > 
> >>>>>>>"Howard" == Howard Miller <me@howardmiller.co.uk> writes:
> >>>>>>
> >>    Howard> Hi,
> >>    Howard> Can somebody kindly help me with the following...
> >>
> >>    Howard> I want to add a path and an Action class. The action class will
then preload data into 
> >>    Howard> a bean and then forward (do I mean forward) to the jsp that displays
the bean. That's 
> >>    Howard> it. I want this action to be in *addition* to the *normal* jsp/formbean/action
setup.
> >>
> >>    Howard> I can't see how to do it.... in particular
> >>
> >>    Howard> 1. I don't think I fully understand how/why an action is associated
with a bean in 
> >>    Howard> struts-config. What does the action servlet do with this information.
> >>
> >>    Howard> 2. How do I properly forward from an action to a jsp with the
bean information intact. 
> >>    Howard> It seems to be very similar to an action returning its "input
form" to display errors, but 
> >>    Howard> doing this doesn't work.  Whatever I do I seem to get a blank
page.
> >>
> >>In fact, the best practice is to always preface a page with an action.  You end
> >>up with actions that prepare information for a page, and actions which process
> >>information for a page.  The actions which process the page information will
> >>always have had the form bean created before you get to the action.  However,
> >>the actions which prepare the page information may have to manually create the
> >>form bean and put it into the appropriate scope.
> >>
> >>Note that the welcome page for an application would normally be something like
> >>"index.jsp", which does nothing but forward to an action to start the
> >>application.  You can't preface the welcome page with an action, but you can
> >>make it do nothing but go to an action to prepare the real first page.
> >>
> >>Look at the source code for the "example" application for some examples of
> >>using the form bean.  The user guide also talks about the control flow with
> >>respect to form beans.
> >>
> >>-- 
> >>===================================================================
> >>David M. Karr          ; Java/J2EE/XML/Unix/C++
> >>dmkarr@earthlink.net
> >>
> >>
> >>--
> >>To unsubscribe, e-mail:   <mailto:struts-user-unsubscribe@jakarta.apache.org>
> >>For additional commands, e-mail: <mailto:struts-user-help@jakarta.apache.org>
> >>
> >>
> > 
> > 
> > 
> > --
> > To unsubscribe, e-mail:   <mailto:struts-user-unsubscribe@jakarta.apache.org>
> > For additional commands, e-mail: <mailto:struts-user-help@jakarta.apache.org>
> > 
> 
> 
> 
> 
> --
> To unsubscribe, e-mail:   <mailto:struts-user-unsubscribe@jakarta.apache.org>
> For additional commands, e-mail: <mailto:struts-user-help@jakarta.apache.org>
> 
> 



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


Mime
View raw message