> To: [email protected]
> Subject: Re: MultiPartRequestWrapper
> From: [email protected]
> Date: Wed, 24 Feb 2016 16:27:11 +0100
>
> > Hi,
> > we are trying to migrate a big webapp (a thousand pages) from struts1 to
> > struts2.
> > One of the first step was to introduce the StrutsPreparefilter, leaving
> > everything served by the ActionServlet.
> > Then we removed the objects request and response from every action's
> > methods signature, leaving them managed only in action ancestor class.
>
> Sounds like an intersting migration strategy. Can you tell us more about
> it?
>
> > Talking about multipart request, we extended JakartaMultiPartRequest to
> > override the parse method in order to leave request parsed by our code.
> > Now we would like to leave request parse made by
> JakartaMultiPartRequest,
> > removing the override, but we need access to the fileitems uploaded by
> > users. In other words, our action ancestor class needs to get access to
> > the "files" properties of JakartaMultiPartRequest through the
> > MultiPartRequestWrapper. Otherwise we need to code something similar to
> > what is done by the FileUploadInterceptor.intercept and create againg
> the
> > fileitem needed by our application code.
>
> I would prefer to just use FileUploadInterceptor.
>
> > The request is: can you change the MultiPartRequestWrapper, and the
> > JakartaMultiPartRequest, adding a public getFileItems(String) method?
>
> Please create jira for that. And specify if you would like to see it in
> struts 2.3 series or if you are happy with struts 2.5.
>
> That method would be trivial to implement for JakartaMultiPartRequest, but
> there are other implementations of MultiPartRequest which don't have easy
> access to FileItems. So I'm not sure if this will be added.
>
>MG>if you want to get a head start take a look at DefaultFileItemFactory
>located
>@<BR>http://www.grepcode.com/file_/repo1.maven.org/maven2/commons-fileupload/commons-fileupload/1.3.1/org/apache/commons/fileupload/DefaultFileItemFactory.java/?v=source
>
> > Another question: in Dispatcher.wrapRequest there is no update of
> request
> > in context, so a ServletActionContext.getRequest() never return the
> > MultiPartRequestWrapper (or StrutsRequestWrapper). Why?
> >
> When you look at FileUploadInterceptor.intercept you see that
> MultiPartRequestWrapper is obtained from ActionContext. But I don't know
> where it is set.
>
MG>MultiPartRequestWrapper is set in these files: <BR>
MG>org.apache.struts2.dispatcher.Dispatcher.wrapRequest<BR>MG>org.apache.struts2.dispatcher.Dispatcher.cleanupRequest<BR>MG>org.apache.struts2.interceptor.FIleUploadInterceptor.intercept<BR>
If you think it is a bug you can create another jira.
MG>suggest testing getFileItems(String) with FileUploadInterceptorTest.java
located at<BR>
/Struts/src/plugins/dojo/init/src/core/src/test/java/org/apache/struts2/interceptor/FileUploadInterceptorTest.java<BR>
MG>
/Struts/src/plugins/dojo>mvn test>
> Regards,
> Christoph
>
> This Email was scanned by Sophos Anti Virus