You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by "Frank W. Zammetti" <fz...@omnytex.com> on 2005/03/01 05:40:39 UTC

Here's a question for yous...

It is of course possible to turn of form validation on a per-mapping 
basis... Is it possible to turn off auto-population?

It's never come up for me before a few minutes ago... I'm doing a file 
upload project, and when I upload the files I'd like an ActionForm to be 
created but NOT populated with anything... I want to use it simply to 
return some status information back to the view.  I can think of about 5 
other ways to accomplish this, but simply turning off auto-population 
would be the easiest.

I don't see a way to do it... am I missing something?  Thanks!

-- 
Frank W. Zammetti
Founder and Chief Software Architect
Omnytex Technologies
http://www.omnytex.com


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


Re: Here's a question for yous...

Posted by Andrew Hill <an...@gridnode.com>.
Dunno about struts 1.2, but in 1.1 there wasn't an option for it. That 
said, it would probably take you only a few minutes to override the 
request processor to do it.

indeed I recall having done that before myself a year or two back
ahh... here we go -

protected void processPopulate(HttpServletRequest request,
                                    HttpServletResponse response,
                                    ActionForm form,
                                    ActionMapping mapping)
         throws ServletException
   {
     if(form != null)
     {
       if(mapping instanceof GTActionMapping)
       {
         if( ((GTActionMapping)mapping).isPopulate() == false )
         {
           return;
         }
       }
       super.processPopulate(request,response,form,mapping);
     }
     else
     {
       return; //No form to populate
     }
   }

And it uses an ActionMapping subclass that supports the populate 
property of course....

Frank W. Zammetti wrote:
> It is of course possible to turn of form validation on a per-mapping 
> basis... Is it possible to turn off auto-population?
> 
> It's never come up for me before a few minutes ago... I'm doing a file 
> upload project, and when I upload the files I'd like an ActionForm to be 
> created but NOT populated with anything... I want to use it simply to 
> return some status information back to the view.  I can think of about 5 
> other ways to accomplish this, but simply turning off auto-population 
> would be the easiest.
> 
> I don't see a way to do it... am I missing something?  Thanks!
> 


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


Re: Here's a question for yous...

Posted by Craig McClanahan <cr...@gmail.com>.
On Tue, 1 Mar 2005 08:51:43 -0500, David G. Friedman
<hu...@ix.netcom.com> wrote:
> Craig,
> 
> Is there a tutorial or walk-through explaining Shale?  I didn't see that in
> the nightly download.  I have no clue about JSF and skimming through the
> Shale code made little sense to me (at this time).  I.E. Conceptually, I'm
> interested but programmatically, it's still over my head for some reason (I
> could just be in the wrong place whenever I go look at it).

The best overview is in the "Proposal Details" link pointed at by the Wiki:

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

(which is also the README.txt file in the source code repository).

The next thing I would do is look at the source of the "Use Cases"
example application, and compare the amount of stuff you as a
developer have to do to what would normally be done with Struts. 
You'll see that the JSP page has a basically similar amount of
complexity (there's a custom tag for each component), but the config
files and the Java code is a lot less complicated (no separate form
beans and actions, ViewController is in request scope so no issue with
using instance variables, and so on).

You can get nighty builds of this stuff at links pointed at by the
Wiki page above.

> 
> Regards,
> David

Craig

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


RE: Here's a question for you...

Posted by "David G. Friedman" <hu...@ix.netcom.com>.
Duncan,

Did your Shale intro at the Struts London Meetup go well?  I thought I'd
write and ask where to find a copy of your presentation.   I'm in no hurry
since I still need to finish reading Core Java Server Faces before I'll
understand the JSF component of Shale.

Regards,
David

-----Original Message-----
From: Duncan Mills [mailto:duncan.mills@oracle.com]
Sent: Thursday, March 03, 2005 11:07 AM
To: Struts Users Mailing List
Subject: Re: Here's a question for yous...


David - I was going to give a run through on Shale at the Struts London
Meetup <http://struts.meetup.com/4/> on the 15th I appreciate you may
not be able to make it but I'll post the sides up somewhere after the
event and push that into the Wiki.

Duncan Mills
http://www.groundside.com/blog

David G. Friedman wrote:


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


Re: Here's a question for yous...

Posted by Duncan Mills <du...@oracle.com>.
David - I was going to give a run through on Shale at the Struts London 
Meetup <http://struts.meetup.com/4/> on the 15th I appreciate you may 
not be able to make it but I'll post the sides up somewhere after the 
event and push that into the Wiki.

Duncan Mills
http://www.groundside.com/blog

David G. Friedman wrote:

>Craig,
>
>Is there a tutorial or walk-through explaining Shale?  I didn't see that in
>the nightly download.  I have no clue about JSF and skimming through the
>Shale code made little sense to me (at this time).  I.E. Conceptually, I'm
>interested but programmatically, it's still over my head for some reason (I
>could just be in the wrong place whenever I go look at it).
>
>Regards,
>David
>
>-----Original Message-----
>From: Craig McClanahan [mailto:craigmcc@gmail.com]
>Sent: Tuesday, March 01, 2005 1:31 AM
>To: fzlists@omnytex.com
>Cc: Struts Users Mailing List
>Subject: Re: Here's a question for yous...
>
>
>On Tue, 01 Mar 2005 00:52:07 -0500, Frank W. Zammetti
><fz...@omnytex.com> wrote:
>
>  
>
>>I sometimes wonder if we (the generic we I mean) don't sometimes think
>>at too high a level... We try to build so much flexibility into our
>>designs, but every time I hear "a new API" or "a new interface" or
>>"another abstraction layer" or any of those somewhat similar terms (you
>>know, the ones spewed forth by enterprise architects ad nauseum!), I
>>wonder if the cost of the added flexibility isn't too high in terms of
>>overall complexity.
>>    
>>
>
>I can appreciate that feeling.  That's why Shale is focused on
>(compared to something like classic Struts) *reducing* the number of
>abstractions you have to care about:
>
>* No more configuration beans (so developers can configure properties
>  on the equivalent of an <action> and have it do what they really
>expected).
>
>* No more form beans (JSF takes care of the reason form beans exist in the
>  first place, but lets go further and combine the "form bean" and "action"
>  concepts in a thread safe request-scope object, like WebWork does it,
>  as well as take advantage of JSF's support for a basic IoC framework
>  using the setter injection pattern).
>
>* No more RequestProcessor or corresponding Chain implementation (the
>  application developer should think solely about responding to view tier
>  events, not how their code fits in to the "big picture".
>
>Of course, there are still use cases where you need traditional "every
>request flows through this pipe" sorts of control.  But the current
>servlet API provides that for us (javax.servlet.Filter) -- there is no
>longer any reason for an application framework to reinvent that sort
>of thing.
>
>Craig
>
>---------------------------------------------------------------------
>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
>
>  
>


RE: Here's a question for yous...

Posted by "David G. Friedman" <hu...@ix.netcom.com>.
Craig,

Is there a tutorial or walk-through explaining Shale?  I didn't see that in
the nightly download.  I have no clue about JSF and skimming through the
Shale code made little sense to me (at this time).  I.E. Conceptually, I'm
interested but programmatically, it's still over my head for some reason (I
could just be in the wrong place whenever I go look at it).

Regards,
David

-----Original Message-----
From: Craig McClanahan [mailto:craigmcc@gmail.com]
Sent: Tuesday, March 01, 2005 1:31 AM
To: fzlists@omnytex.com
Cc: Struts Users Mailing List
Subject: Re: Here's a question for yous...


On Tue, 01 Mar 2005 00:52:07 -0500, Frank W. Zammetti
<fz...@omnytex.com> wrote:

> I sometimes wonder if we (the generic we I mean) don't sometimes think
> at too high a level... We try to build so much flexibility into our
> designs, but every time I hear "a new API" or "a new interface" or
> "another abstraction layer" or any of those somewhat similar terms (you
> know, the ones spewed forth by enterprise architects ad nauseum!), I
> wonder if the cost of the added flexibility isn't too high in terms of
> overall complexity.

I can appreciate that feeling.  That's why Shale is focused on
(compared to something like classic Struts) *reducing* the number of
abstractions you have to care about:

* No more configuration beans (so developers can configure properties
  on the equivalent of an <action> and have it do what they really
expected).

* No more form beans (JSF takes care of the reason form beans exist in the
  first place, but lets go further and combine the "form bean" and "action"
  concepts in a thread safe request-scope object, like WebWork does it,
  as well as take advantage of JSF's support for a basic IoC framework
  using the setter injection pattern).

* No more RequestProcessor or corresponding Chain implementation (the
  application developer should think solely about responding to view tier
  events, not how their code fits in to the "big picture".

Of course, there are still use cases where you need traditional "every
request flows through this pipe" sorts of control.  But the current
servlet API provides that for us (javax.servlet.Filter) -- there is no
longer any reason for an application framework to reinvent that sort
of thing.

Craig

---------------------------------------------------------------------
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


Re: Here's a question for yous...

Posted by Craig McClanahan <cr...@gmail.com>.
On Tue, 01 Mar 2005 00:52:07 -0500, Frank W. Zammetti
<fz...@omnytex.com> wrote:

> I sometimes wonder if we (the generic we I mean) don't sometimes think
> at too high a level... We try to build so much flexibility into our
> designs, but every time I hear "a new API" or "a new interface" or
> "another abstraction layer" or any of those somewhat similar terms (you
> know, the ones spewed forth by enterprise architects ad nauseum!), I
> wonder if the cost of the added flexibility isn't too high in terms of
> overall complexity.

I can appreciate that feeling.  That's why Shale is focused on
(compared to something like classic Struts) *reducing* the number of
abstractions you have to care about:

* No more configuration beans (so developers can configure properties
  on the equivalent of an <action> and have it do what they really expected).

* No more form beans (JSF takes care of the reason form beans exist in the
  first place, but lets go further and combine the "form bean" and "action"
  concepts in a thread safe request-scope object, like WebWork does it,
  as well as take advantage of JSF's support for a basic IoC framework
  using the setter injection pattern).

* No more RequestProcessor or corresponding Chain implementation (the
  application developer should think solely about responding to view tier
  events, not how their code fits in to the "big picture".

Of course, there are still use cases where you need traditional "every
request flows through this pipe" sorts of control.  But the current
servlet API provides that for us (javax.servlet.Filter) -- there is no
longer any reason for an application framework to reinvent that sort
of thing.

Craig

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


Re: Here's a question for yous...

Posted by Dakota Jack <da...@gmail.com>.
Actually the RequestProcessor logic is irrelevant, although seemingly
not so.  You just need to alter RequestUtils.

My experience is that there are lots, and lots, of people doing
uploads in Struts outside the "norm".

I for one find tht the "ad nauseum" comments you refer to are as good
as gold as a rule.  You can always find silly coding, of course.  That
is rather the norm.  But, if you find good coding, then especially in
this multipart area, the results are wonderful in my experience. 
Doing multiparts by simply feeding the ActionForm back to the Action
is not really a good way to go in my opinion.  I have done a lot of
these "ad nauseum" things in upload and am just tickled pink about the
results.  I wish I could access ActionForm and will keep trying to get
that flexibility in.  It could be there in Struts v.1.2.6 without
causing any trouble so far as I see.


On Tue, 01 Mar 2005 00:52:07 -0500, Frank W. Zammetti
<fz...@omnytex.com> wrote:
> Craig McClanahan wrote:
> > In Struts 1.0 - 1.2, there's no way to do this other than by
> > overriding RequestProcessor and dinking with the processPopulate()
> > method.  With the way 1.3 is evolving, it would be feasible to make
> > the Command that normally does population do something different
> > instead.
> 
> That was indeed one of my possible solutions.  However, what I'm doing
> doesn't warrant such effort, not by a long-shot.
> 
> > I can see where you're coming from, but I sure wonder how many people
> > are going to be surprised by this behavior that is so different from
> > the Struts norm.
> 
> Fair point.  I actually wound up just returning an ArrayList as a
> request attribute with the info I wanted to display.  That's really all
> I needed, but I've gotten away from ever passing data back to the view
> this way, hence my original question.  There were of course other
> options that would have gotten an ActionForm there, but in the end I
> figured KISS was the way to go.
> 
> > BTW, when upload gets integrated into Shale (I keep hearing Martin
> > talk about some upgrades to Commons FileUpload that I'd sure like to
> > see happen first :-), my thinking is that simple properties would
> > still be populated normally, but properties representing uploaded
> > files would get populated with an implementation of some adapter API
> > that bridges the difference between files that got cached in memory,
> > stored on disk, or whatever.  That way, the only behavior that is
> > different is that for the file upload field(s) -- everything else
> > continues to work as it does in a non-file-upload scenario.
> 
> I sometimes wonder if we (the generic we I mean) don't sometimes think
> at too high a level... We try to build so much flexibility into our
> designs, but every time I hear "a new API" or "a new interface" or
> "another abstraction layer" or any of those somewhat similar terms (you
> know, the ones spewed forth by enterprise architects ad nauseum!), I
> wonder if the cost of the added flexibility isn't too high in terms of
> overall complexity.
> 
> Eh, just a personal musing of mine.  Your plan as stated sounds pretty
> good :)
> 
> > Craig
> 
> --
> Frank W. Zammetti
> Founder and Chief Software Architect
> Omnytex Technologies
> http://www.omnytex.com
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
> 
> 


-- 
"You can lead a horse to water but you cannot make it float on its back."
~Dakota Jack~

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


Re: Here's a question for yous...

Posted by "Frank W. Zammetti" <fz...@omnytex.com>.
Craig McClanahan wrote:
> In Struts 1.0 - 1.2, there's no way to do this other than by
> overriding RequestProcessor and dinking with the processPopulate()
> method.  With the way 1.3 is evolving, it would be feasible to make
> the Command that normally does population do something different
> instead.

That was indeed one of my possible solutions.  However, what I'm doing 
doesn't warrant such effort, not by a long-shot.

> I can see where you're coming from, but I sure wonder how many people
> are going to be surprised by this behavior that is so different from
> the Struts norm.

Fair point.  I actually wound up just returning an ArrayList as a 
request attribute with the info I wanted to display.  That's really all 
I needed, but I've gotten away from ever passing data back to the view 
this way, hence my original question.  There were of course other 
options that would have gotten an ActionForm there, but in the end I 
figured KISS was the way to go.

> BTW, when upload gets integrated into Shale (I keep hearing Martin
> talk about some upgrades to Commons FileUpload that I'd sure like to
> see happen first :-), my thinking is that simple properties would
> still be populated normally, but properties representing uploaded
> files would get populated with an implementation of some adapter API
> that bridges the difference between files that got cached in memory,
> stored on disk, or whatever.  That way, the only behavior that is
> different is that for the file upload field(s) -- everything else
> continues to work as it does in a non-file-upload scenario.

I sometimes wonder if we (the generic we I mean) don't sometimes think 
at too high a level... We try to build so much flexibility into our 
designs, but every time I hear "a new API" or "a new interface" or 
"another abstraction layer" or any of those somewhat similar terms (you 
know, the ones spewed forth by enterprise architects ad nauseum!), I 
wonder if the cost of the added flexibility isn't too high in terms of 
overall complexity.

Eh, just a personal musing of mine.  Your plan as stated sounds pretty 
good :)

> Craig

-- 
Frank W. Zammetti
Founder and Chief Software Architect
Omnytex Technologies
http://www.omnytex.com


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


Re: Here's a question for yous...

Posted by Craig McClanahan <cr...@gmail.com>.
On Mon, 28 Feb 2005 23:40:39 -0500, Frank W. Zammetti
<fz...@omnytex.com> wrote:
> It is of course possible to turn of form validation on a per-mapping
> basis... Is it possible to turn off auto-population?

In Struts 1.0 - 1.2, there's no way to do this other than by
overriding RequestProcessor and dinking with the processPopulate()
method.  With the way 1.3 is evolving, it would be feasible to make
the Command that normally does population do something different
instead.

> It's never come up for me before a few minutes ago... I'm doing a file
> upload project, and when I upload the files I'd like an ActionForm to be
> created but NOT populated with anything... I want to use it simply to
> return some status information back to the view.  I can think of about 5
> other ways to accomplish this, but simply turning off auto-population
> would be the easiest.

I can see where you're coming from, but I sure wonder how many people
are going to be surprised by this behavior that is so different from
the Struts norm.

BTW, when upload gets integrated into Shale (I keep hearing Martin
talk about some upgrades to Commons FileUpload that I'd sure like to
see happen first :-), my thinking is that simple properties would
still be populated normally, but properties representing uploaded
files would get populated with an implementation of some adapter API
that bridges the difference between files that got cached in memory,
stored on disk, or whatever.  That way, the only behavior that is
different is that for the file upload field(s) -- everything else
continues to work as it does in a non-file-upload scenario.

> 
> I don't see a way to do it... am I missing something?  Thanks!
> 
> --
> Frank W. Zammetti

Craig

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


Re: Here's a question for yous...

Posted by "Frank W. Zammetti" <fz...@omnytex.com>.
I wasn't working with Struts upload.  I'm not sure what the point of all 
the code you posted was, right now I don't have time to go through it to 
figure out what's going on.

In the end I simply passed an ArrayList back to the view as a request 
attribute, problem solved.  I would have preferred not passing a "naked" 
object like that, would have preferred an ActionForm, but for what I was 
doing an ArrayList is more than sufficient.

-- 
Frank W. Zammetti
Founder and Chief Software Architect
Omnytex Technologies
http://www.omnytex.com

Dakota Jack wrote:
> I do this all the time without using the ActionForm at all,
> unfortunately.  I don't know if the solutions I use would be helpful,
> but here is one: I call an action setting up a page for uploads.  Then
> I upload, setting up a listener/monitor in the the Upload object which
> is buried in the commons multipart handling.  Then, on the page where
> I did the uploads and to which I return, I provide an automatic popup
> that accesses the monitor with a call back via a regular refresh with
> a no-cache, etc. and with JavaScript closing the monitor page when
> done.  I also have a button on the same page that will provide a
> report after the fact of whatever happened and keeps whatever
> histories are desired, short and long term.
> 
> Everything would be easier if I just overrided the RequestUtils, which
> is the only place where the excitement happens in Struts upload.  I
> have with limited success tried to discuss making these sorts of
> options available without having to work around the Struts framework
> without a lot of success, but lately seemingly some success with Niall
> and Martin.
> 
> There really is nothing to modifying the upload application to allow
> other optiosn besides the default upload application.  I have just
> wanted to stay with the regular Struts framework so far as is
> possible.  No real luck so far.  Lots of grief!  LOL  ///;-)
> 
> Here is the JavaScript function:
> 
> 
>     <script Language="JavaScript">
>       <!--
>       function popup(url, name, width, height)
>       {
>           settings=
>             "toolbar=no," +
>             "location=yes," +
>             "directories=no," +
>             "status=no," +
>             "menubar=no," +
>             "scrollbars=yes,"+
>             "resizable=yes," +
>             "width="+ width + "," +
>             "height=" + height;
> 
>           Information=window.open(url,name,settings);
>       }
>       //-->
>     </script>
> 
> If this interests you, I would be happy to show you more code.  Heck,
> here is some more if you are somewhat interested.
> 
> <%@ page language='java' %>
> <%@ page errorPage="upload_exception.jsp" %>
> <%@ page import='java.util.*' %>
> <%@ page import='com.crackwillow.state.StateContainer' %>
> <%@ taglib uri='jstl-core'      prefix='c' %>
> <%@ taglib uri='struts-bean'    prefix='bean' %>
> <%@ taglib uri='struts-html'    prefix='html' %>
> <%@ taglib uri='struts-tiles'   prefix='tiles' %>
> <%@ taglib uri='crackwillow'    prefix='crackwillow' %>
> 
> <html>
>   <head>
>     <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'>
>   </head>
>   <body bgcolor='<c:out value="${state.banMddlBgClr}"/>'>
> 
>     <script type='text/javascript'>
> 
>       function openMonitor()
>       {
>         if (document.realForm.uploadedFile1.value.length > 0)
>         {
>           window.open('monitor.jsp?nocache=<%=
> System.currentTimeMillis()
> %>','UploadStatus','scrollbars=no,status=no,width=300,height=200');
>           document.realForm.submit();
>         }
>         else if (document.realForm.uploadedFile2.value.length > 0)
>         {
>           window.open('monitor.jsp?nocache=<%=
> System.currentTimeMillis()
> %>','UploadStatus','scrollbars=no,status=no,width=300,height=200');
>           document.realForm.submit();
>         }
>         else if (document.realForm.uploadedFile3.value.length > 0)
>         {
>           window.open('monitor.jsp?nocache=<%=
> System.currentTimeMillis()
> %>','UploadStatus','scrollbars=no,status=no,width=300,height=200');
>           document.realForm.submit();
>         }
>         else if (document.realForm.uploadedFile4.value.length > 0)
>         {
>           window.open('monitor.jsp?nocache=<%=
> System.currentTimeMillis()
> %>','UploadStatus','scrollbars=no,status=no,width=300,height=200');
>           document.realForm.submit();
>         }
>         else if (document.realForm.uploadedFile5.value.length > 0)
>         {
>           window.open('monitor.jsp?nocache=<%=
> System.currentTimeMillis()
> %>','UploadStatus','scrollbars=no,status=no,width=300,height=200');
>           document.realForm.submit();
>         }
>         else if (document.realForm.uploadedFile6.value.length > 0)
>         {
>           window.open('monitor.jsp?nocache=<%=
> System.currentTimeMillis()
> %>','UploadStatus','scrollbars=no,status=no,width=300,height=200');
>           document.realForm.submit();
>         }
>         else if (document.realForm.uploadedFile7.value.length > 0)
>         {
>           window.open('monitor.jsp?nocache=<%=
> System.currentTimeMillis()
> %>','UploadStatus','scrollbars=no,status=no,width=300,height=200');
>           document.realForm.submit();
>         }
>         else if (document.realForm.uploadedFile8.value.length > 0)
>         {
>           window.open('monitor.jsp?nocache=<%=
> System.currentTimeMillis()
> %>','UploadStatus','scrollbars=no,status=no,width=300,height=200');
>           document.realForm.submit();
>         }
>         else if (document.realForm.uploadedFile9.value.length > 0)
>         {
>           window.open('monitor.jsp?nocache=<%=
> System.currentTimeMillis()
> %>','UploadStatus','scrollbars=no,status=no,width=300,height=200');
>           document.realForm.submit();
>         }
>         else if (document.realForm.uploadedFile10.value.length > 0)
>         {
>           window.open('monitor.jsp?nocache=<%=
> System.currentTimeMillis()
> %>','UploadStatus','scrollbars=no,status=no,width=300,height=200');
>           document.realForm.submit();
>         }
>         else if (document.realForm.uploadedFile11.value.length > 0)
>         {
>           window.open('monitor.jsp?nocache=<%=
> System.currentTimeMillis()
> %>','UploadStatus','scrollbars=no,status=no,width=300,height=200');
>           document.realForm.submit();
>         }
>         else if (document.realForm.uploadedFile12.value.length > 0)
>         {
>           window.open('monitor.jsp?nocache=<%=
> System.currentTimeMillis()
> %>','UploadStatus','scrollbars=no,status=no,width=300,height=200');
>           document.realForm.submit();
>         }
>         else
>         {
>           alert("Select a file to attach");
>         }
>       }
> 
>       function fillFacadeForm1()
>       {
>         document.forms['facadeForm'].myFileText1.value=
> document.forms['realForm'].uploadedFile1.value;
>       }
> 
>       function fillFacadeForm2()
>       {
>         document.forms['facadeForm'].myFileText2.value=
> document.forms['realForm'].uploadedFile2.value;
>       }
> 
>       function fillFacadeForm3()
>       {
>         document.forms['facadeForm'].myFileText3.value=
> document.forms['realForm'].uploadedFile3.value;
>       }
> 
>       function fillFacadeForm4()
>       {
>         document.forms['facadeForm'].myFileText4.value=
> document.forms['realForm'].uploadedFile4.value;
>       }
> 
>       function fillFacadeForm5()
>       {
>         document.forms['facadeForm'].myFileText5.value=
> document.forms['realForm'].uploadedFile5.value;
>       }
> 
>       function fillFacadeForm6()
>       {
>         document.forms['facadeForm'].myFileText6.value=
> document.forms['realForm'].uploadedFile6.value;
>       }
> 
>       function fillFacadeForm7()
>       {
>         document.forms['facadeForm'].myFileText7.value=
> document.forms['realForm'].uploadedFile7.value;
>       }
> 
>       function fillFacadeForm8()
>       {
>         document.forms['facadeForm'].myFileText8.value=
> document.forms['realForm'].uploadedFile8.value;
>       }
> 
>       function fillFacadeForm9()
>       {
>         document.forms['facadeForm'].myFileText9.value=
> document.forms['realForm'].uploadedFile9.value;
>       }
> 
>       function fillFacadeForm10()
>       {
>         document.forms['facadeForm'].myFileText10.value=
> document.forms['realForm'].uploadedFile10.value;
>       }
> 
>       function fillFacadeForm11()
>       {
>         document.forms['facadeForm'].myFileText11.value=
> document.forms['realForm'].uploadedFile11.value;
>       }
> 
>       function fillFacadeForm12()
>       {
>         document.forms['facadeForm'].myFileText12.value=
> document.forms['realForm'].uploadedFile12.value;
>       }
> 
>       function reset()
>       {
>         document.forms['realForm'].reset();
>         document.forms['facadeForm'].reset();
>       }
> 
>     </script>
> 
>     <style type='text/css'>
>       .fileUpload {
>       -moz-opacity:0 ;
>       filter:alpha(opacity: 0);
>       -khtml-opacity: 0;
>       }
>     </style>
> 
>     <span style='position: absolute; top: 30px; left: 200px;z-index: 1;'>
>       <form
>         name='realForm'
>         action='/uploader.CRACKWILLOW'
>         method='post'
>         target='_top'
>         enctype='multipart/form-data'>
> 
>         <input
>           type='file'
>           class='fileUpload'
>           name='uploadedFile1'
>           onkeyup='fillFacadeForm1();'
>           onmouseout='fillFacadeForm1();'>
>         <input type='file'
>           class='fileUpload'
>           name='uploadedFile2'
>           onkeyup='fillFacadeForm2();'
>           onmouseout='fillFacadeForm2();'>
>         <input
>           type='file'
>           class='fileUpload'
>           name='uploadedFile3'
>           onkeyup='fillFacadeForm3();'
>           onmouseout='fillFacadeForm3();'><br>
> 
>         <input
>           type='file'
>           class='fileUpload'
>           name='uploadedFile4'
>           onkeyup='fillFacadeForm4();'
>           onmouseout='fillFacadeForm4();'>
>         <input type='file'
>           class='fileUpload'
>           name='uploadedFile5'
>           onkeyup='fillFacadeForm5();'
>           onmouseout='fillFacadeForm5();'>
>         <input
>           type='file'
>           class='fileUpload'
>           name='uploadedFile6'
>           onkeyup='fillFacadeForm6();'
>           onmouseout='fillFacadeForm6();'><br>
> 
>         <input
>           type='file'
>           class='fileUpload'
>           name='uploadedFile7'
>           onkeyup='fillFacadeForm7();'
>           onmouseout='fillFacadeForm7();'>
>         <input type='file'
>           class='fileUpload'
>           name='uploadedFile8'
>           onkeyup='fillFacadeForm8();'
>           onmouseout='fillFacadeForm8();'>
>         <input
>           type='file'
>           class='fileUpload'
>           name='uploadedFile9'
>           onkeyup='fillFacadeForm9();'
>           onmouseout='fillFacadeForm9();'><br>
> 
>         <input
>           type='file'
>           class='fileUpload'
>           name='uploadedFile10'
>           onkeyup='fillFacadeForm10();'
>           onmouseout='fillFacadeForm10();'>
>         <input type='file'
>           class='fileUpload'
>           name='uploadedFile11'
>           onkeyup='fillFacadeForm11();'
>           onmouseout='fillFacadeForm11();'>
>         <input
>           type='file'
>           class='fileUpload'
>           name='uploadedFile12'
>           onkeyup='fillFacadeForm12();'
>           onmouseout='fillFacadeForm12();'><br><br>
>         <img src='resource.CRACKWILLOW?file=clear.gif' width='50' height='1'>
>         <crackwillow:image
>           button='Upload.gif'
>           plain='false'
>           mapBean='state'
>           bgClrCode='banMddlBgClr'
>           txtClrCode='banLftTxtClr'
>           font='Tork Bold'
>           italic='false'
>           bold='true'
>           size='25'
>           onclick='openMonitor()'
>           property='upload.method'/>
> 
>         <html:img src='resource.CRACKWILLOW?file=clear.gif' width='30'
> border='0'/>
> 
>         <crackwillow:image
>           button='Reset.gif'
>           plain='false'
>           mapBean='state'
>           bgClrCode='banMddlBgClr'
>           txtClrCode='banLftTxtClr'
>           font='Tork Bold'
>           italic='false'
>           onclick='reset()'
>           bold='true'
>           size='25'
>           property='reset.method'/>
> 
>         <html:img src='resource.CRACKWILLOW?file=clear.gif' width='30'
> border='0'/>
> 
>         <crackwillow:image
>           button='Delete_Uploaded_Files.gif'
>           plain='false'
>           mapBean='state'
>           bgClrCode='banMddlBgClr'
>           txtClrCode='banLftTxtClr'
>           font='Tork Bold'
>           italic='false'
>           bold='true'
>           size='25'
>           property='deleteRepository.method'/>
>       </form>
>     </span>
>     <span style='position: absolute; top: 30px; left: 200px; z-index: 0;'>
>       <form name='facadeForm'>
> 
>         <input
>           type='text'
>           name='myFileText1'>
>         <crackwillow:img
>           button='browse.gif'
>           plain='false'
>           mapBean='state'
>           bgClrCode='banMddlBgClr'
>           txtClrCode='banLftTxtClr'
>           font='Bookman Old Style'
>           italic='false'
>           bold='true'
>           size='15'/>&nbsp;&nbsp;&nbsp;
> 
>         <input
>           type='text'
>           name='myFileText2'>
>         <crackwillow:img
>           button='browse.gif'
>           plain='false'
>           mapBean='state'
>           bgClrCode='banMddlBgClr'
>           txtClrCode='banLftTxtClr'
>           font='Bookman Old Style'
>           italic='false'
>           bold='true'
>           size='15'/>&nbsp;&nbsp;&nbsp;
> 
>         <input
>           type='text'
>           name='myFileText3'>
>         <crackwillow:img
>           button='browse.gif'
>           plain='false'
>           mapBean='state'
>           bgClrCode='banMddlBgClr'
>           txtClrCode='banLftTxtClr'
>           font='Bookman Old Style'
>           italic='false'
>           bold='true'
>           size='15'/><br>
> 
>         <input
>           type='text'
>           name='myFileText4'>
>         <crackwillow:img
>           button='browse.gif'
>           plain='false'
>           mapBean='state'
>           bgClrCode='banMddlBgClr'
>           txtClrCode='banLftTxtClr'
>           font='Bookman Old Style'
>           italic='false'
>           bold='true'
>           size='15'/>&nbsp;&nbsp;&nbsp;
> 
>         <input
>           type='text'
>           name='myFileText5'>
>         <crackwillow:img
>           button='browse.gif'
>           plain='false'
>           mapBean='state'
>           bgClrCode='banMddlBgClr'
>           txtClrCode='banLftTxtClr'
>           font='Bookman Old Style'
>           italic='false'
>           bold='true'
>           size='15'/>&nbsp;&nbsp;&nbsp;
> 
>         <input
>           type='text'
>           name='myFileText6'>
>         <crackwillow:img
>           button='browse.gif'
>           plain='false'
>           mapBean='state'
>           bgClrCode='banMddlBgClr'
>           txtClrCode='banLftTxtClr'
>           font='Bookman Old Style'
>           italic='false'
>           bold='true'
>           size='15'/><br>
> 
>         <input
>           type='text'
>           name='myFileText7'>
>         <crackwillow:img
>           button='browse.gif'
>           plain='false'
>           mapBean='state'
>           bgClrCode='banMddlBgClr'
>           txtClrCode='banLftTxtClr'
>           font='Bookman Old Style'
>           italic='false'
>           bold='true'
>           size='15'/>&nbsp;&nbsp;&nbsp;
> 
>         <input
>           type='text'
>           name='myFileText8'>
>         <crackwillow:img
>           button='browse.gif'
>           plain='false'
>           mapBean='state'
>           bgClrCode='banMddlBgClr'
>           txtClrCode='banLftTxtClr'
>           font='Bookman Old Style'
>           italic='false'
>           bold='true'
>           size='15'/>&nbsp;&nbsp;&nbsp;
> 
>         <input
>           type='text'
>           name='myFileText9'>
>         <crackwillow:img
>           button='browse.gif'
>           plain='false'
>           mapBean='state'
>           bgClrCode='banMddlBgClr'
>           txtClrCode='banLftTxtClr'
>           font='Bookman Old Style'
>           italic='false'
>           bold='true'
>           size='15'/><br>
> 
>         <input
>           type='text'
>           name='myFileText10'>
>         <crackwillow:img
>           button='browse.gif'
>           plain='false'
>           mapBean='state'
>           bgClrCode='banMddlBgClr'
>           txtClrCode='banLftTxtClr'
>           font='Bookman Old Style'
>           italic='false'
>           bold='true'
>           size='15'/>&nbsp;&nbsp;&nbsp;
> 
>         <input
>           type='text'
>           name='myFileText11'>
>         <crackwillow:img
>           button='browse.gif'
>           plain='false'
>           mapBean='state'
>           bgClrCode='banMddlBgClr'
>           txtClrCode='banLftTxtClr'
>           font='Bookman Old Style'
>           italic='false'
>           bold='true'
>           size='15'/>&nbsp;&nbsp;&nbsp;
> 
>         <input
>           type='text'
>           name='myFileText12'>
>         <crackwillow:img
>           button='browse.gif'
>           plain='false'
>           mapBean='state'
>           bgClrCode='banMddlBgClr'
>           txtClrCode='banLftTxtClr'
>           font='Bookman Old Style'
>           italic='false'
>           bold='true'
>           size='15'/><br><br><br>
>       </form>
>     </span>
>   </body>
> </html>
> 
> 
> Jack
> 
> 
> On Mon, 28 Feb 2005 23:40:39 -0500, Frank W. Zammetti
> <fz...@omnytex.com> wrote:
> 
>>It is of course possible to turn of form validation on a per-mapping
>>basis... Is it possible to turn off auto-population?
>>
>>It's never come up for me before a few minutes ago... I'm doing a file
>>upload project, and when I upload the files I'd like an ActionForm to be
>>created but NOT populated with anything... I want to use it simply to
>>return some status information back to the view.  I can think of about 5
>>other ways to accomplish this, but simply turning off auto-population
>>would be the easiest.
>>
>>I don't see a way to do it... am I missing something?  Thanks!
>>
>>--
>>Frank W. Zammetti
>>Founder and Chief Software Architect
>>Omnytex Technologies
>>http://www.omnytex.com
>>
>>---------------------------------------------------------------------
>>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


Re: Here's a question for yous...

Posted by Dakota Jack <da...@gmail.com>.
I do this all the time without using the ActionForm at all,
unfortunately.  I don't know if the solutions I use would be helpful,
but here is one: I call an action setting up a page for uploads.  Then
I upload, setting up a listener/monitor in the the Upload object which
is buried in the commons multipart handling.  Then, on the page where
I did the uploads and to which I return, I provide an automatic popup
that accesses the monitor with a call back via a regular refresh with
a no-cache, etc. and with JavaScript closing the monitor page when
done.  I also have a button on the same page that will provide a
report after the fact of whatever happened and keeps whatever
histories are desired, short and long term.

Everything would be easier if I just overrided the RequestUtils, which
is the only place where the excitement happens in Struts upload.  I
have with limited success tried to discuss making these sorts of
options available without having to work around the Struts framework
without a lot of success, but lately seemingly some success with Niall
and Martin.

There really is nothing to modifying the upload application to allow
other optiosn besides the default upload application.  I have just
wanted to stay with the regular Struts framework so far as is
possible.  No real luck so far.  Lots of grief!  LOL  ///;-)

Here is the JavaScript function:


    <script Language="JavaScript">
      <!--
      function popup(url, name, width, height)
      {
          settings=
            "toolbar=no," +
            "location=yes," +
            "directories=no," +
            "status=no," +
            "menubar=no," +
            "scrollbars=yes,"+
            "resizable=yes," +
            "width="+ width + "," +
            "height=" + height;

          Information=window.open(url,name,settings);
      }
      //-->
    </script>

If this interests you, I would be happy to show you more code.  Heck,
here is some more if you are somewhat interested.

<%@ page language='java' %>
<%@ page errorPage="upload_exception.jsp" %>
<%@ page import='java.util.*' %>
<%@ page import='com.crackwillow.state.StateContainer' %>
<%@ taglib uri='jstl-core'      prefix='c' %>
<%@ taglib uri='struts-bean'    prefix='bean' %>
<%@ taglib uri='struts-html'    prefix='html' %>
<%@ taglib uri='struts-tiles'   prefix='tiles' %>
<%@ taglib uri='crackwillow'    prefix='crackwillow' %>

<html>
  <head>
    <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'>
  </head>
  <body bgcolor='<c:out value="${state.banMddlBgClr}"/>'>

    <script type='text/javascript'>

      function openMonitor()
      {
        if (document.realForm.uploadedFile1.value.length > 0)
        {
          window.open('monitor.jsp?nocache=<%=
System.currentTimeMillis()
%>','UploadStatus','scrollbars=no,status=no,width=300,height=200');
          document.realForm.submit();
        }
        else if (document.realForm.uploadedFile2.value.length > 0)
        {
          window.open('monitor.jsp?nocache=<%=
System.currentTimeMillis()
%>','UploadStatus','scrollbars=no,status=no,width=300,height=200');
          document.realForm.submit();
        }
        else if (document.realForm.uploadedFile3.value.length > 0)
        {
          window.open('monitor.jsp?nocache=<%=
System.currentTimeMillis()
%>','UploadStatus','scrollbars=no,status=no,width=300,height=200');
          document.realForm.submit();
        }
        else if (document.realForm.uploadedFile4.value.length > 0)
        {
          window.open('monitor.jsp?nocache=<%=
System.currentTimeMillis()
%>','UploadStatus','scrollbars=no,status=no,width=300,height=200');
          document.realForm.submit();
        }
        else if (document.realForm.uploadedFile5.value.length > 0)
        {
          window.open('monitor.jsp?nocache=<%=
System.currentTimeMillis()
%>','UploadStatus','scrollbars=no,status=no,width=300,height=200');
          document.realForm.submit();
        }
        else if (document.realForm.uploadedFile6.value.length > 0)
        {
          window.open('monitor.jsp?nocache=<%=
System.currentTimeMillis()
%>','UploadStatus','scrollbars=no,status=no,width=300,height=200');
          document.realForm.submit();
        }
        else if (document.realForm.uploadedFile7.value.length > 0)
        {
          window.open('monitor.jsp?nocache=<%=
System.currentTimeMillis()
%>','UploadStatus','scrollbars=no,status=no,width=300,height=200');
          document.realForm.submit();
        }
        else if (document.realForm.uploadedFile8.value.length > 0)
        {
          window.open('monitor.jsp?nocache=<%=
System.currentTimeMillis()
%>','UploadStatus','scrollbars=no,status=no,width=300,height=200');
          document.realForm.submit();
        }
        else if (document.realForm.uploadedFile9.value.length > 0)
        {
          window.open('monitor.jsp?nocache=<%=
System.currentTimeMillis()
%>','UploadStatus','scrollbars=no,status=no,width=300,height=200');
          document.realForm.submit();
        }
        else if (document.realForm.uploadedFile10.value.length > 0)
        {
          window.open('monitor.jsp?nocache=<%=
System.currentTimeMillis()
%>','UploadStatus','scrollbars=no,status=no,width=300,height=200');
          document.realForm.submit();
        }
        else if (document.realForm.uploadedFile11.value.length > 0)
        {
          window.open('monitor.jsp?nocache=<%=
System.currentTimeMillis()
%>','UploadStatus','scrollbars=no,status=no,width=300,height=200');
          document.realForm.submit();
        }
        else if (document.realForm.uploadedFile12.value.length > 0)
        {
          window.open('monitor.jsp?nocache=<%=
System.currentTimeMillis()
%>','UploadStatus','scrollbars=no,status=no,width=300,height=200');
          document.realForm.submit();
        }
        else
        {
          alert("Select a file to attach");
        }
      }

      function fillFacadeForm1()
      {
        document.forms['facadeForm'].myFileText1.value=
document.forms['realForm'].uploadedFile1.value;
      }

      function fillFacadeForm2()
      {
        document.forms['facadeForm'].myFileText2.value=
document.forms['realForm'].uploadedFile2.value;
      }

      function fillFacadeForm3()
      {
        document.forms['facadeForm'].myFileText3.value=
document.forms['realForm'].uploadedFile3.value;
      }

      function fillFacadeForm4()
      {
        document.forms['facadeForm'].myFileText4.value=
document.forms['realForm'].uploadedFile4.value;
      }

      function fillFacadeForm5()
      {
        document.forms['facadeForm'].myFileText5.value=
document.forms['realForm'].uploadedFile5.value;
      }

      function fillFacadeForm6()
      {
        document.forms['facadeForm'].myFileText6.value=
document.forms['realForm'].uploadedFile6.value;
      }

      function fillFacadeForm7()
      {
        document.forms['facadeForm'].myFileText7.value=
document.forms['realForm'].uploadedFile7.value;
      }

      function fillFacadeForm8()
      {
        document.forms['facadeForm'].myFileText8.value=
document.forms['realForm'].uploadedFile8.value;
      }

      function fillFacadeForm9()
      {
        document.forms['facadeForm'].myFileText9.value=
document.forms['realForm'].uploadedFile9.value;
      }

      function fillFacadeForm10()
      {
        document.forms['facadeForm'].myFileText10.value=
document.forms['realForm'].uploadedFile10.value;
      }

      function fillFacadeForm11()
      {
        document.forms['facadeForm'].myFileText11.value=
document.forms['realForm'].uploadedFile11.value;
      }

      function fillFacadeForm12()
      {
        document.forms['facadeForm'].myFileText12.value=
document.forms['realForm'].uploadedFile12.value;
      }

      function reset()
      {
        document.forms['realForm'].reset();
        document.forms['facadeForm'].reset();
      }

    </script>

    <style type='text/css'>
      .fileUpload {
      -moz-opacity:0 ;
      filter:alpha(opacity: 0);
      -khtml-opacity: 0;
      }
    </style>

    <span style='position: absolute; top: 30px; left: 200px;z-index: 1;'>
      <form
        name='realForm'
        action='/uploader.CRACKWILLOW'
        method='post'
        target='_top'
        enctype='multipart/form-data'>

        <input
          type='file'
          class='fileUpload'
          name='uploadedFile1'
          onkeyup='fillFacadeForm1();'
          onmouseout='fillFacadeForm1();'>
        <input type='file'
          class='fileUpload'
          name='uploadedFile2'
          onkeyup='fillFacadeForm2();'
          onmouseout='fillFacadeForm2();'>
        <input
          type='file'
          class='fileUpload'
          name='uploadedFile3'
          onkeyup='fillFacadeForm3();'
          onmouseout='fillFacadeForm3();'><br>

        <input
          type='file'
          class='fileUpload'
          name='uploadedFile4'
          onkeyup='fillFacadeForm4();'
          onmouseout='fillFacadeForm4();'>
        <input type='file'
          class='fileUpload'
          name='uploadedFile5'
          onkeyup='fillFacadeForm5();'
          onmouseout='fillFacadeForm5();'>
        <input
          type='file'
          class='fileUpload'
          name='uploadedFile6'
          onkeyup='fillFacadeForm6();'
          onmouseout='fillFacadeForm6();'><br>

        <input
          type='file'
          class='fileUpload'
          name='uploadedFile7'
          onkeyup='fillFacadeForm7();'
          onmouseout='fillFacadeForm7();'>
        <input type='file'
          class='fileUpload'
          name='uploadedFile8'
          onkeyup='fillFacadeForm8();'
          onmouseout='fillFacadeForm8();'>
        <input
          type='file'
          class='fileUpload'
          name='uploadedFile9'
          onkeyup='fillFacadeForm9();'
          onmouseout='fillFacadeForm9();'><br>

        <input
          type='file'
          class='fileUpload'
          name='uploadedFile10'
          onkeyup='fillFacadeForm10();'
          onmouseout='fillFacadeForm10();'>
        <input type='file'
          class='fileUpload'
          name='uploadedFile11'
          onkeyup='fillFacadeForm11();'
          onmouseout='fillFacadeForm11();'>
        <input
          type='file'
          class='fileUpload'
          name='uploadedFile12'
          onkeyup='fillFacadeForm12();'
          onmouseout='fillFacadeForm12();'><br><br>
        <img src='resource.CRACKWILLOW?file=clear.gif' width='50' height='1'>
        <crackwillow:image
          button='Upload.gif'
          plain='false'
          mapBean='state'
          bgClrCode='banMddlBgClr'
          txtClrCode='banLftTxtClr'
          font='Tork Bold'
          italic='false'
          bold='true'
          size='25'
          onclick='openMonitor()'
          property='upload.method'/>

        <html:img src='resource.CRACKWILLOW?file=clear.gif' width='30'
border='0'/>

        <crackwillow:image
          button='Reset.gif'
          plain='false'
          mapBean='state'
          bgClrCode='banMddlBgClr'
          txtClrCode='banLftTxtClr'
          font='Tork Bold'
          italic='false'
          onclick='reset()'
          bold='true'
          size='25'
          property='reset.method'/>

        <html:img src='resource.CRACKWILLOW?file=clear.gif' width='30'
border='0'/>

        <crackwillow:image
          button='Delete_Uploaded_Files.gif'
          plain='false'
          mapBean='state'
          bgClrCode='banMddlBgClr'
          txtClrCode='banLftTxtClr'
          font='Tork Bold'
          italic='false'
          bold='true'
          size='25'
          property='deleteRepository.method'/>
      </form>
    </span>
    <span style='position: absolute; top: 30px; left: 200px; z-index: 0;'>
      <form name='facadeForm'>

        <input
          type='text'
          name='myFileText1'>
        <crackwillow:img
          button='browse.gif'
          plain='false'
          mapBean='state'
          bgClrCode='banMddlBgClr'
          txtClrCode='banLftTxtClr'
          font='Bookman Old Style'
          italic='false'
          bold='true'
          size='15'/>&nbsp;&nbsp;&nbsp;

        <input
          type='text'
          name='myFileText2'>
        <crackwillow:img
          button='browse.gif'
          plain='false'
          mapBean='state'
          bgClrCode='banMddlBgClr'
          txtClrCode='banLftTxtClr'
          font='Bookman Old Style'
          italic='false'
          bold='true'
          size='15'/>&nbsp;&nbsp;&nbsp;

        <input
          type='text'
          name='myFileText3'>
        <crackwillow:img
          button='browse.gif'
          plain='false'
          mapBean='state'
          bgClrCode='banMddlBgClr'
          txtClrCode='banLftTxtClr'
          font='Bookman Old Style'
          italic='false'
          bold='true'
          size='15'/><br>

        <input
          type='text'
          name='myFileText4'>
        <crackwillow:img
          button='browse.gif'
          plain='false'
          mapBean='state'
          bgClrCode='banMddlBgClr'
          txtClrCode='banLftTxtClr'
          font='Bookman Old Style'
          italic='false'
          bold='true'
          size='15'/>&nbsp;&nbsp;&nbsp;

        <input
          type='text'
          name='myFileText5'>
        <crackwillow:img
          button='browse.gif'
          plain='false'
          mapBean='state'
          bgClrCode='banMddlBgClr'
          txtClrCode='banLftTxtClr'
          font='Bookman Old Style'
          italic='false'
          bold='true'
          size='15'/>&nbsp;&nbsp;&nbsp;

        <input
          type='text'
          name='myFileText6'>
        <crackwillow:img
          button='browse.gif'
          plain='false'
          mapBean='state'
          bgClrCode='banMddlBgClr'
          txtClrCode='banLftTxtClr'
          font='Bookman Old Style'
          italic='false'
          bold='true'
          size='15'/><br>

        <input
          type='text'
          name='myFileText7'>
        <crackwillow:img
          button='browse.gif'
          plain='false'
          mapBean='state'
          bgClrCode='banMddlBgClr'
          txtClrCode='banLftTxtClr'
          font='Bookman Old Style'
          italic='false'
          bold='true'
          size='15'/>&nbsp;&nbsp;&nbsp;

        <input
          type='text'
          name='myFileText8'>
        <crackwillow:img
          button='browse.gif'
          plain='false'
          mapBean='state'
          bgClrCode='banMddlBgClr'
          txtClrCode='banLftTxtClr'
          font='Bookman Old Style'
          italic='false'
          bold='true'
          size='15'/>&nbsp;&nbsp;&nbsp;

        <input
          type='text'
          name='myFileText9'>
        <crackwillow:img
          button='browse.gif'
          plain='false'
          mapBean='state'
          bgClrCode='banMddlBgClr'
          txtClrCode='banLftTxtClr'
          font='Bookman Old Style'
          italic='false'
          bold='true'
          size='15'/><br>

        <input
          type='text'
          name='myFileText10'>
        <crackwillow:img
          button='browse.gif'
          plain='false'
          mapBean='state'
          bgClrCode='banMddlBgClr'
          txtClrCode='banLftTxtClr'
          font='Bookman Old Style'
          italic='false'
          bold='true'
          size='15'/>&nbsp;&nbsp;&nbsp;

        <input
          type='text'
          name='myFileText11'>
        <crackwillow:img
          button='browse.gif'
          plain='false'
          mapBean='state'
          bgClrCode='banMddlBgClr'
          txtClrCode='banLftTxtClr'
          font='Bookman Old Style'
          italic='false'
          bold='true'
          size='15'/>&nbsp;&nbsp;&nbsp;

        <input
          type='text'
          name='myFileText12'>
        <crackwillow:img
          button='browse.gif'
          plain='false'
          mapBean='state'
          bgClrCode='banMddlBgClr'
          txtClrCode='banLftTxtClr'
          font='Bookman Old Style'
          italic='false'
          bold='true'
          size='15'/><br><br><br>
      </form>
    </span>
  </body>
</html>


Jack


On Mon, 28 Feb 2005 23:40:39 -0500, Frank W. Zammetti
<fz...@omnytex.com> wrote:
> It is of course possible to turn of form validation on a per-mapping
> basis... Is it possible to turn off auto-population?
> 
> It's never come up for me before a few minutes ago... I'm doing a file
> upload project, and when I upload the files I'd like an ActionForm to be
> created but NOT populated with anything... I want to use it simply to
> return some status information back to the view.  I can think of about 5
> other ways to accomplish this, but simply turning off auto-population
> would be the easiest.
> 
> I don't see a way to do it... am I missing something?  Thanks!
> 
> --
> Frank W. Zammetti
> Founder and Chief Software Architect
> Omnytex Technologies
> http://www.omnytex.com
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
> 
> 


-- 
"You can lead a horse to water but you cannot make it float on its back."
~Dakota Jack~

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