Hmm, checkin' something here :-)

I defined a form just like the following form is defined below.  I then
defined an action mapping as follows:

<action
    path="/searchtest"
    type="com.setech.test.ChrisTestAction"
    scope="request"
    name="mySearchForm">
    <forward name="success" path="/pages/cctest.jsp" />
</action>

Then in my ChrisTestAction executeAction function, I did the following:

    String sort = BeanUtils.getSimpleProperty(form,"sort");
    String order = BeanUtils.getSimpleProperty(form, "order");

    Log log = LogFactory.getLog(ChrisTestAction.class);
    if(log.isDebugEnabled()) log.debug("sort="+sort+",order="+order);

I checked my tomcat output and both values were in fact populated.

Then in my JSP, I can use javascript to alter 2 hidden fields that represent
the sort/order values when a user clicks on an icon or column header and
then submit the form again to the action to handle updating the view based
on the new sort/order values.  Alternatively, I could build the URL for each
link/image dynamically like:

/searchtest.do?sort=X&order=Y

but /searchtest.do does imply setting sort=postDate and order=DESC if
they're not supplied by the request to the action :-)...

How does your struts-config.xml look?  What about your JSP ?

----- Original Message -----
From: "Caroline Jen" <[EMAIL PROTECTED]>
To: "Struts Users Mailing List" <[EMAIL PROTECTED]>
Sent: Wednesday, June 16, 2004 5:58 PM
Subject: RE: The Same Action With and Without a Form


> The property of the 'initial' attribute inside the
> <form-property ....> tag (i.e. initial="postDate")
> does not seem to become the default value.  The query
> method (with sort and order among the parameters) that
> retrieve articles from the database got the
> NullPointerException.
>
> I know the query method works well because there is no
> problem when I perform the action with a form.
>
> -Caroline
>
> --- "CRANFORD, CHRIS" <[EMAIL PROTECTED]>
> wrote:
> > Define your form in struts-config.xml like:
> >
> > <form-bean
> >   name="mySearchForm"
> >   type="org.apache.struts.action.DynaActionForm">
> >   <form-property
> >     name="sort"
> >     initial="postDate"
> >     type="java.lang.String"/>
> >   <form-property
> >     name="order"
> >     initial="DESC"
> >     type="java.lang.String"/>
> >   .. Other properties here
> > </form-bean>
> >
> > Then define your action mapping to use this
> > formbean.  When your form posts,
> > it will assume the default values for sort/order if
> > they not present in the
> > request.  If they're present in the HttpRequest
> > object, then the form is
> > populated with whatever values are coming from the
> > request.
> >
> > Hope this helps.
> > Chris
> >
> > -----Original Message-----
> > From: Caroline Jen [mailto:[EMAIL PROTECTED]
> > Sent: Wednesday, June 16, 2004 12:40 PM
> > To: [EMAIL PROTECTED]
> > Subject: The Same Action With and Without a Form
> >
> >
> > I have a "list" of articles to be retrieved from the
> > database and displayed.
> >
> > The first time I display the list, I simply sort the
> > list by posting date and descending order (without
> > providing a form) when I query the database.
> >
> > Thereafter, users are offered opportunities on top
> > of
> > the table of the list to choose 'sort' criteria from
> > a
> > drop down menu and to choose 'order', which is
> > either
> > ascending or descending, with a GO button.  That is
> > to
> > say, the same action (ListArticles) is called with a
> > 'form' consisting of two menus.
> >
> > In my Java class that extends Action, I did the
> > following:
> >
> >      String sort  = request.getParameter( "sort" );
> >      String order = request.getParameter( "order" );
> >      if ( sort.length() == 0 ) sort = "PostDate";
> >      if ( order.length()== 0 ) order = "DESC";
> >
> > I do not know how to handle the name attribute of
> > the
> > <action .... /> tag in the struts-config.xml.
> >
> > Those are the same action.  There is actually an
> > empty
> > form the first time the action is called.  And there
> > is a form consisting of two menus the second time
> > the
> > action is called.
> >
> > I need your instructions and help.
> >
> >
> >
> > __________________________________
> > Do you Yahoo!?
> > Yahoo! Mail - Helps protect you from nasty viruses.
> > http://promotions.yahoo.com/new_mail
> >
> >
> ---------------------------------------------------------------------
> > To unsubscribe, e-mail:
> > [EMAIL PROTECTED]
> > For additional commands, e-mail:
> > [EMAIL PROTECTED]
> >
> >
> >
> ---------------------------------------------------------------------
> > To unsubscribe, e-mail:
> > [EMAIL PROTECTED]
> > For additional commands, e-mail:
> > [EMAIL PROTECTED]
> >
> >
>
>
>
>
> __________________________________
> Do you Yahoo!?
> New and Improved Yahoo! Mail - Send 10MB messages!
> http://promotions.yahoo.com/new_mail
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to