Hi,

I think there is some misconfiguration issue, as far as I know,
there are two kind of actions in Struts, EditXXXXAction and
SaveXXXXAction. For my implementation, all the EditXXXXAction
have validate=false in the struts-config.xml and all the
SaveXXXXAction have validate=true.

EditXXXXAction took care of 2 operations, edit and add, for
add, it just instantiate an object, for edit operation, it have
to load the values from the persistence layer (loading from JSP
is surely a very ugly thing to do.).

So for EditXXXXAction, its just plainly creating and loading,
no validation is neccessary, for SaveXXXXAction, then we need
validation.

CHeers,
Yee Keat

----- Original Message -----
From: "Robert Scaduto" <[EMAIL PROTECTED]>
To: "Struts Users Mailing List"
<[EMAIL PROTECTED]>
Sent: Feb 6, 2002 2:31:19 AM GMT+08:00
Subject: RE: Design question about ActionForm's validate method

>Matt,
>
>I also disagree that you should only use actions when
submitting a form.  I
>also believe that in most cases you should never forward a
request directly
>to a jsp without first going through the Action framework.
>
>Struts provides a utility action that will do this for you. 
The
>org.apache.struts.actions.ForwardAction will forward to the
jsp file
>specified in the parameter attribute of the action mapping.
Like so..
>
><action path="/passwordAssistance"
>       type="org.apache.struts.actions.ForwardAction"
>       parameter="/password_assistance.jsp">
></action>
>
>If you are using the *.do extension in your servlet mapping
you would access
>the action like this...
>
><html:link page="/passwordAssistance.do">Go to Password
>Assistance</html:link>
>
>It may seem like extra work for no reason but if the
requirements of your
>system change and now you need to forward to an action instead
of a jsp it
>is much easier to replace the ForwardAction to a custom
action.
>
>It sounds to me like you are on the right track.
>
>-Rob
>
>-----Original Message-----
>From: Matt Read [mailto:[EMAIL PROTECTED]]
>Sent: Tuesday, February 05, 2002 12:59 PM
>To: Struts Users Mailing List
>Subject: RE: Design question about ActionForm's validate
method
>
>
>I'm fairly new to struts (well, about 24 hours actually) and
this message
>touches on a concept that I've having trouble grasping.
>
>Are you saying that your site should never allow the user to
navigate to a
>URL that maps to an Action unless you are submitting a form?
>
>This is my example and although it's actually working in
practice it doesn't
>really feel right to me and doesn't conform to above rule. I
hope I've
>included enough detail and would appreciate any clues on good
design.
>
>1. User goes to the home page and clicks on a "Find a client"
link.
>2. This link points to "/find/client.do" which is defined as
an
>ActionMapping as follows:
>       <action path="/find/client"
>                       type="mysite.actions.FindClientAction"
>                       name="clientFindForm"
>                       scope="request"
>                       input="/pages/findclient.jsp">
>                       <forward name="newsearch" path="/pages/findClient.jsp"/>
>       </action>
>3. The code in FindClientAction ensures that the user is
authenticated and
>then populates some request scoped attributes that enabled
>/pages/findClient.jsp to function correctly.
/pagesfindClient.jsp displays a
>form to allow the user to enter search criteria.
>4. The submit action for the form in /pages/findClient.jsp is
>"/find/getresults" which is defined as an ActionMapping as
follows:
>    <action    path="/find/clientresults"
>                       type="mysite.actions.FindClientResultsAction"
>                       name="clientFindForm"
>                       scope="request"
>                       input="/pages/findclient.jsp">
>                       <forward name="success"
path="/pages/findClientResults.jsp"/>
>    </action>
>5. The code in FindClientResultsAction examines the contents
of the
>clientFindForm and contstructs a SQL statement to retrieve the
correct data.
>6. /pages/findClientResults.jsp renders the results from the
database.
>
>Matt.
>
>-----Original Message-----
>From: Jonathan Gibbons [mailto:[EMAIL PROTECTED]]
>Sent: 05 February 2002 17:44
>To: Struts Users Mailing List
>Subject: Re: Design question about ActionForm's validate
method
>
>
>
>I made this same 'mistake'.
>
>Actions MUST only be called when a form is submitted.   Never
to generate
>the JSP.  Thats why they are called actions.
>
>Or two put it another way, you do need several URL's
>
>a) URL to JSP on a GET
>b) URL to action the POST
>
>The easiert way to do it is to have all forwards going
directly to the JSP,
>and all actions in the pages going to xxxx.do.
>
>At first it seems rubish, but then you hopefully buy into the
model view
>controller idea.  i.e NO business logic in the page and it all
starts to
>make perfect sence.   But you really do have to buy into it
otherwise you
>are fighting urge to ditch it all and go back to brilliant
servlets, nice
>and easy, total power etc etc.
>
>Jonathan
>
>
>---------------------------------------- Message
>History ----------------------------------------
>
>
>From: Sid Stuart <[EMAIL PROTECTED]> on 05/02/2002 09:24 PST
>
>Please respond to "Struts Users Mailing List"
><[EMAIL PROTECTED]>
>
>To:   Struts Users Mailing List
<[EMAIL PROTECTED]>
>cc:
>Subject:  Design question about ActionForm's validate method
>
>
>Hi,
>
>I've stumbled across a subtle problem/design question that I
don't see
>mentioned in the documentation.
>
>The ActionForm's validate method can be configured to verify
form data
>from a page and generate error messages which may then be
displayed on
>the page for the user to see. This works fine when the user
has accessed
>the page by specifying a JSP file in the URL. When the user
accesses the
>page by calling the Action directly though, the validate
method is
>called before the user ever sees the page, much less inputs
valid data
>to the form. This leads to an unfortunate display of
unwarranted error
>messages.
>
>It would be nice if the documentation would provide a rule
such as:
>If one plans on the user calling the Action directly in the
URL  then
>one should not use the automatic validation provided by
ActionForm.
>
>Further, as having two different procedures to generate a page
can lead
>to subtle errors, one should decide whether a page will be
accessed as a
>JSP or as an Action and design for the one scenario. The
simplest (and
>safest) design rule will be to access all pages through either
one
>mechanism or the other.
>
>Comments?
>
>Sid Stuart
>
>
>
>
>
>
>
>
>--
>
>This e-mail may contain confidential and/or privileged
information. If you
>are not the intended recipient (or have received this e-mail
in error)
>please notify the sender immediately and destroy this e-mail.
Any
>unauthorized copying, disclosure or distribution of the
material in this
>e-mail is strictly forbidden.
>
>
>
>--
>To unsubscribe, e-mail:
><mailto:[EMAIL PROTECTED]>
>For additional commands, e-mail:
><mailto:[EMAIL PROTECTED]>
>
>
>--
>To unsubscribe, e-mail:
><mailto:[EMAIL PROTECTED]>
>For additional commands, e-mail:
><mailto:[EMAIL PROTECTED]>
>
>
>--
>To unsubscribe, e-mail:  
<mailto:[EMAIL PROTECTED]>
>For additional commands, e-mail:
<mailto:[EMAIL PROTECTED]>
>


Reply via email to