# File Upload per Formular - prinzipielle Vorgehensweise?



## Halunken-Joe (15. Jun 2007)

Hallo alle zusammen,

Mir fehlt da ein wenig das Hintergrundwissen:

Ich habe ein Formular (vom Typ Multipart), übergebe die Parameter an ein JSP und dieses JSP lädt mir mit Hilfe der Apache commons.fileupload und commons.io das File auf den Webserver hoch.

Das funktioniert auch bestens, aber mir ist der Java Code im JSP zu lang. 

Deswegen wollte ich heute schnell mal den Java Code in eine Bean auslagern. Also: Formular (Multipart) -> JSP (request) -> Bean (mit  Hilfe der Apache.commons uploaden) -> zurück zur JSP  (Anzeige des Ergnisses ob es geklappt hat oder nicht).

Ich sitze da schon den ganzen Tag dran und schaffe es nicht die Kombination JSP/Bean zum laufen zu bringen. Ist das überhaupt möglich oder muß ich den Request direkt vor Ort im JSP verarbeiten? 

Falls die Bean nicht das Mittel der Wahl ist: Wie handhabt man so einen Fileupload am elegantesten? Könnte ich den Code in eine TagLib auslgern? Ich frage, weil ich das noch nie mit TagLibs gearbeitet habe.


----------



## Halunken-Joe (17. Jun 2007)

OK, dann versuche ich einmal das Problem zu schildern, an dem ich gerade herumdoktore:


```
//dieses JSP soll ein Formular (2 Texte + 1 Dateiupload)auswerten
    ==============================================
    //eine Variable vom Typ HttpServletRequest deklarieren
    <% HttpServletRequest xyz = request;%>

    //einer ID eine Bean zuweisen
    <jsp:useBean id="ID_666" class="Mysql.UploadFile" >     <-- zeile 53

    //und den request an die Bean übergeben
    <jsp:setProperty name="ID_666"  property="request"  value="<%=xyz%>" />
    </jsp:useBean>

    //diese Bean soll den request auswerten
   ==============================================
   package Mysql
   public class UploadFile {

   private HttpServletRequest request;

   public void setRequest(HttpServletRequest request) {
      this.request = request;
   }
   }
```


Die Fehlermeldung vom Tomcat lautet:

root cause 

org.apache.jasper.JasperException: /upload_gps_file.jsp(53,1) The value for the useBean class attribute Mysql.UploadFile is invalid

Bedeutet das , das man Variablen vom Typ HttpServletRequest nicht einfach übergeben kann?


----------



## Halunken-Joe (18. Jun 2007)

Sorry, falscher Alarm ...

Ich hatte mit den Packagenamen herumgespielt und die Packages mehrmals umbenannt. Daran lag es ...  :noe: 

Der Code an sich war schon OK.


----------

