Ich habe ein Problem beim Hochladen einer Datei mit Spring Webflow 1.0 und Struts 1.3.Struts - Hochladen von Dateien
Die jsp ist so etwas wie diese:
<html:form action="/flowAction" method="post" enctype="multipart/form-data">
<!-- snip -->
<html:file property="file" name="attachDocumentsForm" size="50"/>
<!-- snip -->
</html:form>
Das Formular so etwas wie diese:
public class AttachDocumentsForm extends SpringBindingActionForm {
// note, SpringBindingActionForm extends struts' ActionForm
private FormFile file;
//snip
}
Nun, mein Problem ist, dass, wenn ich das Formular, das file
Feld ist immer null
. Die anderen Felder auf dem Formular sind richtig ausgefüllt, und wenn ich durch die RequestContext
graben, kann ich finden, dass die Datei einige der Datenstrukturen dort tief vergraben ist. Hier
ist die schrecklich hässliche Art und Weise, die ich an der Befestigung zu bekommen:
// 'context' is the RequestContext
ServletExternalContext servletExternalContext = (ServletExternalContext) context.getExternalContext();
ActionForm form = (ActionForm) servletExternalContext.getRequest().getAttribute("actionForm");
FormFile file = (FormFile) form.getMultipartRequestHandler().getFileElements().get("file");
ich bemerkt habe, dass die MultipartRequestHandler
auf meine Form ist null
, und ich vermute, dass dieser Teil der sein könnte Problem, aber ich habe versucht, es mit einer Instanz von CommonsMultipartRequestHandler
ohne Erfolg zu füllen.
Was muss ich tun, damit das Feld file
korrekt ausgefüllt wird?
Sollten Sie nicht in der Lage sein, die Datei aus dem Action Accessor zu bekommen, mit (Formfile) form.getFile()? –