Martin, I agree Terry could have had it so much easier using an ActionForm. But, I recall that wasn't what Terry wanted to do back in the first post, hence the wrapper example, then the follow-ups about keeping everything in one place, that wrapper.
Is there a way I missed to get the MultiPartRequestWrapper for that action in Terry's no-ActionForm case instead of initializing it all over again sans ActionForm? Personally, I prefer adding FormFiles to my ActionForm and getting uploaded files that way. Regards, David -----Original Message----- From: news [mailto:[EMAIL PROTECTED] Behalf Of Martin Cooper Sent: Monday, November 24, 2003 7:13 PM To: [EMAIL PROTECTED] Subject: Re: getParameter() returns null on multipart requests "David Friedman" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] > Martin, > > I don't know if Terry got it working, but I don't see why he (or anyone) > couldn't keep it simple by using a CommonsMultiPartRequestWrapper's > getTextElements() or getAllElements() methods, liks so: Why is duplicating the work "keep[ing] it simple"? Struts does all of the parsing behind the scenes for you, and makes all of the parameters available to you. The example code you posted does pretty much the same things that the Struts code does behind the scenes, but by the time your action is invoked, Struts has done it already, without you having to implement any file upload functionality in your actions. (In fact, I'm not sure I understand how your code can work, given that Struts will already have parsed the input stream, making it unavailable to a second parse.) -- Martin Cooper > > // Assuming wrapper is the initialized CommonsMultiPartRequestWrapper > Hashtable textElements = wrapper.getTextElements(); > String paramOne[] = (String)textElements.get("One"); > > // OR .... (Note the String array in both examples) > > Hashtable allElements = wrapper.getAllElements(); > String paramOne[] = (String)allElements.get("One"); > > Both code works if you add it to the example code I uploaded Saturday: > www.mail-archive.com/[EMAIL PROTECTED]/msg87269.html > > Regards, > David > > -----Original Message----- > From: news [mailto:[EMAIL PROTECTED] Behalf Of Martin Cooper > Sent: Monday, November 24, 2003 6:03 PM > To: [EMAIL PROTECTED] > Subject: Re: getParameter() returns null on multipart requests > > > > "Terry Brick" <[EMAIL PROTECTED]> wrote in message > news:[EMAIL PROTECTED] > > Hello, > > When I submit a multipart form to my action I am > > unable to get use getParameter() on the request object > > to get my form field values. As I understand it > > struts is supposed to automatically create a > > MultipartRequestWrapper which allows you to do this > > for multipart requests... > > I've seen some postings regarding this, but I still > > don't understand what I need to do. I think there was > > some mention that MultipartRequestWrapper doesn't work > > right if you're not utilizing the ActionForm? > > It still works, but it won't do as much for you behind the scenes. ;-) > > From within an Action, using getParameter() should still work for regular > (i.e. non-file) items, because the request object passed to the Action is > the wrapped request. If you're calling that method from somewhere else, it > may or may not work, depending on whether or not you have a wrapped request. > (In many places, you will not have a wrapped request, because the Servlet > 2.2 spec does not permit such a thing, and Struts 1.x is Servlet 2.2 > compatible.) > > -- > Martin Cooper > > > > > > I also tried instantiating my own > > MultipartRequestWrapper by doing "new > > MultipartRequestWrapper(request)". That doesn't solve > > the problem either. > > > > Any ideas? I'm using the latest nightly build (Struts > > 1.2). > > > > Thanks! > > > > > > __________________________________ > > Do you Yahoo!? > > Free Pop-Up Blocker - Get it now > > http://companion.yahoo.com/ > > > > > --------------------------------------------------------------------- > 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] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]

