# IE probleme mit multipartfile bei spring 3 anwendungen



## hamid (27. Mrz 2011)

hallo freunde.

ich hab ein riesen problem bei der darstellung meine webanwendug bei IE. Beim Debuggen mit eclipse habe ich bemerkt das es an der klasse  "MultipartFile" von Spring3 liegt. Ist hier jemand dabei der erfahrung damit hat bzw. das problem bekannt ist ???

Im firefox wird meine anwendung korrekt angezeigt nur im IE7-8 nicht.

danke für jede hilfe


----------



## mvitz (27. Mrz 2011)

Geht es auch etwas genauer?

Wie eine Web-Anwendung vom Browser gerendert wird, hat idr. nichts mit dem Backend (Spring3) oder Multipartfile zu tun, sondern hängt an der Viewtechnik bzw. CSS...


----------



## hamid (27. Mrz 2011)

sorry ich meinte nicht die darstellung sondern im IE wirft mir mein action einen NullPointerException genau an der stelle wo "MultipartFile" aufgerufen wird aber im FireFox nicht. Ich nehme an das IE probleme hat mit MultipartFile...aber ich weiss nicht warum genau !


----------



## mvitz (27. Mrz 2011)

Kommt der Fehler in von dir geschriebenem Code oder in reinem Spring Code?

Wenn es dein Code ist, dann poste diesen doch bitte. Ansonsten wäre zumindest die genaue Fehlermeldung + Stacktrace interessant.


----------



## hamid (27. Mrz 2011)

hi.

nein nicht von mir ! hier der trace 


27.03.2011 22:40:24 org.apache.catalina.core.StandardWrapperValve invoke
SCHWERWIEGEND: Servlet.service() for servlet planung_steuerung threw exception
java.lang.NullPointerException
	at prod.planung_steuerung.los.web.LosFormAdminDetailsController.onSubmit(LosFormAdminDetailsController.java:123)
	at org.springframework.web.servlet.mvc.SimpleFormController.processFormSubmission(SimpleFormController.java:272)
	at org.springframework.web.servlet.mvc.AbstractFormController.handleRequestInternal(AbstractFormController.java:268)
	at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
	at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)
	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
	at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
	at java.lang.Thread.run(Unknown Source)


----------



## mvitz (27. Mrz 2011)

Vielleicht kannst du ja trotzdem mal deinen Controller oder zumindest die aufgerufene Methode posten und markieren, welche Zeile Zeile 123 ist.


----------



## hamid (27. Mrz 2011)

also hier der controller ! hab die stelle markiert wo der debugger hinspringt wenn ich die anwendung mit IE8 starte. total verrückt !!! nie gesehen







```
package prod.planung_steuerung.los.web;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.beans.propertyeditors.CustomDateEditor;
import org.springframework.validation.BindException;
import org.springframework.web.bind.ServletRequestDataBinder;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.SimpleFormController;

import prod.planung_steuerung.los.dao.LosDao;
import prod.planung_steuerung.los.domain.Los;


public class LosFormAdminDetailsController extends SimpleFormController {
	
	private String viewName;

	public String getViewName() {
		return viewName;
	}

	public void setViewName(String viewName) {
		this.viewName = viewName;
	}

	public LosDao getLosDao() {
		return losDao;
	}

	public void setLosDao(LosDao losDao) {
		this.losDao = losDao;
	}

	private LosDao losDao ;
	
	
	public LosFormAdminDetailsController() {
		setCommandName("BearbeitenForm");	
	}

	@Override
	protected Object formBackingObject(HttpServletRequest request)
			throws Exception {
		Los idee = losDao.getIdeeDetails(request.getParameter("id"));
		return idee;
	}

	
	
	@SuppressWarnings("unchecked")
	protected Map referenceData(HttpServletRequest request) throws Exception {
		String[] refIdeeStatus = { "Noch nicht bewertet", "In Bearbeitung", "Umgesetzt", "Zurückgestellt","Wird nicht umgesetzt" };
		String[] refPrio = { "Noch nicht zugewiesen", "Niedrig", "Mittel", "Hoch" };
		String[] refUnterstuetzung = {"-","Ich kann die Idee umsetzen", "Ich benötige Unterstützung" };
		String[] refNachhaltigkeit = {"","3","6","12" };

		
		Map<String,Object>model = new HashMap<String,Object>();
		model.put("refIdeeStatus", refIdeeStatus);
		model.put("refPrio", refPrio);
		model.put("refUnterstuetzung", refUnterstuetzung);
		model.put("refNachhaltigkeit", refNachhaltigkeit);


		return model;
	}
	
	@SuppressWarnings({ "deprecation", "unchecked" })
	protected ModelAndView onSubmit(HttpServletRequest request,
			HttpServletResponse response, Object command, BindException errors)
			throws Exception {
		//Map<String,Object>model = new HashMap<String,Object>();

		Los idee = (Los) command ;
		if (idee.getIdeestatus().equals("Umgesetzt")) {
			idee.setEnde(new Date());		
			long diffMillis = idee.getEnde().getTime() - idee.getDatum().getTime();
			long diffDays = Math.round(diffMillis /(1000*60*60*24));
			String diffTag = (new Long(diffDays)).toString();
			idee.setUmsetzungsdauer(diffTag);
		}
		
		if (idee.getZeitersparnis() == null) {
			idee.setZeitersparnis(0.0f);
		}
		if (idee.getWeitere_kostensparnis() == null) {
			idee.setWeitere_kostensparnis(0.0f);
		}
		if (idee.getKosten() == null) {
			idee.setKosten(0.0f);
		}
		
		Float k = 52.0f ; //stundensatz bleibt variabel
		Float woche = 52.0f;
		Float kosten = k * idee.getZeitersparnis()* woche;
		idee.setKostensparnis(kosten);
	
		Float gesamtnutzen = idee.getKostensparnis() + idee.getWeitere_kostensparnis() - idee.getKosten();
		idee.setGesamtnutzen(gesamtnutzen);	
		
		if(idee.getEnde()!= null){
			
			float monat = idee.getEnde().getMonth();
			
			Float umsetzung = (13 - monat) / 12 * idee.getGesamtnutzen(); 
			
			idee.setAnteiliger_gesamtnutzen(umsetzung);
		}
		
		MultipartHttpServletRequest multiPartRequest = (MultipartHttpServletRequest) request;
		Map<String,MultipartFile> fileMap = (Map<String,MultipartFile>) multiPartRequest.getFileMap();
	
		MultipartFile dokument = fileMap.get("dokument");
		idee.setDateiname(dokument.getOriginalFilename());  <--------------------------- der debugger spring an der stelle
			
		losDao.updateBearbeiten(idee);
		return new ModelAndView(getSuccessView(),"BearbeitenForm",command);
	}
	


	protected void initBinder(HttpServletRequest request,
			ServletRequestDataBinder binder) throws Exception {
		binder.registerCustomEditor(byte[].class, new FileUploadEditor());
		binder.registerCustomEditor(Date.class, new CustomDateEditor(new SimpleDateFormat("dd.MM.yyyy"), true));
	}


}
```


----------



## Foo (27. Mrz 2011)

Sieht so aus als würde der request - Parameter _dokument_ beim IE8 nicht richtig ankommen.

Wie wird der request den erzeugt ( Formular, JS, <a href... ) ? Wahrscheinlich via JS und der IE8 kommt damit nicht klar ?


----------



## hamid (27. Mrz 2011)

formular mit JSP 

etwa so :


```
<tr>
<td>Dokument</td>
<td>
<a href="doku?id=<%= request.getParameter("id") %>">
<img src="<c:out value="${context}"/>/images/los/document.gif" alt="doku" border="0">
</a>
</td>
</tr>
 

<tr>
<td>Katalog-Foto</td>
<td><a href="image?id=<%= request.getParameter("id") %>&type=katalog-foto"><img src="image?id=<%= request.getParameter("id") %>&type=katalog-foto" width="100" height="90" border="0"/></a>
</td>
</tr>
```


hast du eine lösung für mein problem??? denke du liegst da richtig


----------



## mvitz (27. Mrz 2011)

Also bei mir (Spring3 [allerdings mit Annotationen]) und IE8 funktioniert das ganze.

Evtl. solltest du mal das Formular posten:

Anbei mein kleines Beispielprogramm:

```
package de.mvitz.examples.spring3.webmvc.fileupload;
import org.springframework.web.multipart.commons.CommonsMultipartFile;
public class UploadItem {
    private CommonsMultipartFile file;
    public CommonsMultipartFile getFile() {
        return this.file;
    }
    public void setFile(CommonsMultipartFile aFile) {
        this.file = aFile;
    }
}
```


```
package de.mvitz.examples.spring3.webmvc.fileupload;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;

@Controller
@RequestMapping("/")
public class UploadItemController {
    @RequestMapping(method = RequestMethod.GET)
    public String showForm(Model model) {
        model.addAttribute("item", new UploadItem());
        return "form";
    }
    @RequestMapping(method = RequestMethod.POST)
    public String create(UploadItem item, BindingResult result, HttpServletRequest request) {
        MultipartFile file = item.getFile();
        System.out.println(file.getName());
        System.out.println(file.getOriginalFilename());
        System.out.println(file.getContentType());
        System.out.println(file.getSize());

        System.out.println("---------------");

        MultipartHttpServletRequest multiPartRequest = (MultipartHttpServletRequest) request;
        Map<String, MultipartFile> fileMap = multiPartRequest.getFileMap();
        MultipartFile dokument = fileMap.get("file");
        System.out.println(dokument.getName());
        System.out.println(dokument.getOriginalFilename());
        System.out.println(dokument.getContentType());
        System.out.println(dokument.getSize());
        return "redirect:/";
    }
}
```
/WEB-INF/form.jsp

```
<%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
    <title>Upload Example</title>
  </head>
  <body>
    <form:form modelAttribute="item" method="post" enctype="multipart/form-data">
      <p>
        <form:label for="file" path="file">File</form:label><br />
        <form:input path="file" type="file" />
      </p>
      <p><input type="submit" value="Upload" /></p>
    </form:form>
  </body>
</html>
```
web.xml[XML]<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee"
  xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
  id="WebApp_ID" version="2.5">
  <!-- CREATES SPRING CONTAINER -->
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
  <!-- SPRING MVC SERVLET -->
  <servlet>
    <servlet-name>spring</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>spring</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>
  <!-- WEBAPP CONFIGURATION -->
  <session-config>
    <session-timeout>10</session-timeout>
  </session-config>
</web-app>[/XML]
/WEB-INF/applicationContext.xml
[XML]<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<beans xmlns="http://www.springframework.org/schema/beans"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="
Index of /schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
</beans>[/XML]
/WEB-INF/spring-servlet.xml
[XML]<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context"
  xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="
Index of /schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
Index of /schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
Index of /schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">

  <!-- SPRING ANNOTATION SUPPORT -->
  <context:component-scan base-package="de.mvitz.examples.spring3.webmvc.fileupload" use-default-filters="false">
    <context:include-filter expression="org.springframework.stereotype.Controller" type="annotation" />
  </context:component-scan>

  <!-- SPRING CONTROLLER MAPPING, FORMATTERS AND VALIDATION -->
  <mvc:annotation-driven />

  <!-- MAP DISPATCHER TO "/" -->
  <mvc:default-servlet-handler />

  <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix">
      <value>/WEB-INF/</value>
    </property>
    <property name="suffix">
      <value>.jsp</value>
    </property>
  </bean>

  <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver" />

</beans>[/XML]
pom.xml (für Abhängikeiten)
[XML]<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>de.mvitz.examples.spring3.webmvc</groupId>
  <artifactId>fileupload</artifactId>
  <version>1.0.0-SNAPSHOT</version>
  <packaging>war</packaging>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

    <slf4j.version>1.6.1</slf4j.version>
    <spring.version>3.0.5.RELEASE</spring.version>
  </properties>

  <dependencies>
    <!-- LOGGING -->
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>${slf4j.version}</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>jcl-over-slf4j</artifactId>
      <version>${slf4j.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-classic</artifactId>
      <version>0.9.26</version>
      <scope>runtime</scope>
    </dependency>
    <!-- WEB -->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>servlet-api</artifactId>
      <version>2.5</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>jsp-api</artifactId>
      <version>2.1</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>javax.el</groupId>
      <artifactId>el-api</artifactId>
      <version>1.0</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>jstl</artifactId>
      <version>1.2</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>${spring.version}</version>
      <exclusions>
        <exclusion>
          <groupId>commons-logging</groupId>
          <artifactId>commons-logging</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>commons-fileupload</groupId>
      <artifactId>commons-fileupload</artifactId>
      <version>1.2.2</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
      <version>2.0.1</version>
      <scope>runtime</scope>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>2.3.2</version>
        <configuration>
          <source>1.6</source>
          <target>1.6</target>
        </configuration>
      </plugin>
    </plugins>
  </build>

</project>[/XML]


----------



## hamid (27. Mrz 2011)

danke für deinen code. werd ich mir bei gelegenheit genauer anschauen

anbei mein form ! vielleicht erkennst du ja den fehler. ich leider nicht 



```
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1" import="java.util.*" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="datetime" uri="http://jakarta.apache.org/taglibs/datetime-1.0"  %>


<c:set var="context" value="${pageContext.request.contextPath}" />


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>

	<style type="text/css">
		#customers
		{
		font-family:"Trebuchet MS", Arial, Helvetica, sans-serif;
		width:100%;
		border-collapse:collapse;
		}
		#customers td, #customers th 
		{
		font-size:0.9em;
		border:1px solid #AAAAAA;
		padding:3px 7px 2px 7px;
		}
		#customers th 
		{
		font-size:1.2em;
		text-align:left;
		padding-top:5px;
		padding-bottom:4px;
		background-color:#FFAA11;
		color:#fff;
		}
		#customers tr.alt td 
		{
		color:#000;
		background-color:#EEEEEE;
		}
	</style>

</head>
<body>

<form:form method="POST" commandName="BearbeitenForm" enctype="multipart/form-data">

<table id="customers">
<tr>
  <th>Admin Details <u>Bearbeiten</u></th>
  <th></th>

</tr>
<tr>
<td>Nr</td>
<td><c:out value="${BearbeitenForm.id}" /> </td>
</tr>
<tr>
<td>Name, Vorname</td>
<td>
<form:input path="name" />
 </td>
</tr>

<tr class="alt">
<td>Datum</td>
<td>
<datetime:format pattern="dd.MM.yyyy" date="${BearbeitenForm.datum}" />
</td>
</tr>


<tr class="alt">
<td>Letzte Änderung</td>
<td>
<datetime:format pattern="dd.MM.yyyy" date="${BearbeitenForm.lastdatum}" />
</td>
</tr>

<tr>
<td>Problem</td>
<td><form:textarea path="problem" cols="50" /></td>
</tr>
<tr class="alt">
<td>Idee</td>
<td><TEXTAREA cols="50" name="idee"><c:out value="${BearbeitenForm.idee}" /></TEXTAREA></td>
</tr>
<tr>

<td>Zwischenstand/Bemerkung</td>
<td>
<form:textarea cols="50" path="zwischenstand" /></td>
</tr>
<tr class="alt">
<td>Gruppe</td>
<td>
<form:input path="bereich" />
</td>
</tr>

<tr>
<td>Kategorie</td>
<td>
<form:checkbox path="kategorien_effizient" />
Effizienz 
<form:checkbox path="kategorien_quali" />
Qualit&auml;t 
<form:checkbox path="kategorien_umwelt" />
Umwelt 
<form:checkbox path="kategorien_asi" />
ASI 
<form:checkbox path="kategorien_ordnung" />
Ordnung<br />
</td>
</tr>
<tr class="alt">
<td>Priorität</td>
<td>

<select name="prio">
	<c:forEach var="prioItem" items="${refPrio}" varStatus="status">
		<option value="${status.count-1}" 
		<c:if test="${BearbeitenForm.prio == status.count-1}">selected="true"</c:if>
		><c:out value="${prioItem}" /></option>
	</c:forEach>
</select>
</td>
</tr>
<tr>
<td>Ideenpate</td>
<td>
<form:input path="pate" />
</td>
</tr>

<tr>
<td>verantwortliche F&uuml;hrungskraft (Name,Vorname)<font color="#EE0000">&nbsp;*</font></td>
<td>
<input name="fuehrungskraft" value="${BearbeitenForm.fuehrungskraft}"/>
</td>
</tr>



<tr class="alt">
<td>Los Coach</td>
<td><form:input path="los_coach" />
 </td>
</tr>
<tr>
<td>Ideenstatus</td>
<td>
<form:select path="ideestatus" items="${refIdeeStatus}" />
</td>
</tr>

<tr>
<td>Unterst&uuml;tzung</td>
<td>
<select name="unterstuetzung">
	<c:forEach var="unterstuetzungItem" items="${refUnterstuetzung}" varStatus="status">
		<option value="${status.count-1}" 
		<c:if test="${BearbeitenForm.unterstuetzung == status.count-1}">selected="true"</c:if>
		><c:out value="${unterstuetzungItem}" /></option>
	</c:forEach>
</select>
</td>
</tr>
<tr>
<td>Umsetzungsüberprüfung in Monaten</td>
<td>
<select name="nachhaltigkeit">
	<c:forEach var="nachhaltigkeitItem" items="${refNachhaltigkeit}" varStatus="status">
		<option value="${nachhaltigkeitItem}" 
		<c:if test="${BearbeitenForm.nachhaltigkeit == nachhaltigkeitItem}">selected="true"</c:if>>
		<c:out value="${nachhaltigkeitItem}" /></option>
	</c:forEach>
</select>
</td>
</tr>


 <tr>
<td>Impuls Nr.</td>
<td>
<form:input path="impuls" />
</td>
</tr>
<tr>   
<td>Top Los! Idee ? </td>
 <td>   
<form:checkbox path="toplos" />
</td>
</tr>



<tr class="alt">
<td><b>Datum</b>
<br><br>
</td>
<td class="alt">
</td>
</tr>

<tr class="alt">
<td>Ziel:</td>
<td><input type="text" name="ziel" value="<datetime:format pattern="dd.MM.yyyy" date="${BearbeitenForm.ziel}" />" />
</td>
</tr>

<tr class="alt">
<td>Ende:</td>
<td>

<c:choose>
<c:when test="${BearbeitenForm.ideestatus eq 'Umgesetzt'}">
<datetime:format pattern="dd.MM.yyyy" date="${BearbeitenForm.ende}" />
</c:when>
</c:choose>
<!-- 
<input type="text" name="ende" value="<datetime:format pattern="dd.MM.yyyy" date="${BearbeitenForm.ende}" />" />
 -->
</td>
</tr>
 
<tr class="alt">
<td>Umsetzungsdauer in Tagen:</td>
<td>
<c:out value="${BearbeitenForm.umsetzungsdauer} "/>

</td>
</tr>

<tr >
<td><b>Finanzielle Bewertung</b>
<br><br>
</td>
</tr>

<tr>
<td>Zeitersparnis[h/Woche] :</td>
<td>
<input type="text"  name="zeitersparnis" value="${BearbeitenForm.zeitersparnis} "/>

</td>
</tr>
<tr>
<td>Kostenersparnis (aus der Zeitersparnis):</td>
<td>

<c:out value="${BearbeitenForm.kostensparnis} "/>

</td>
</tr>
<tr>
<td>weitere Kostenersparnis in Euro:</td>
<td>
<input type="text" name="weitere_kostensparnis" value="${BearbeitenForm.weitere_kostensparnis} "/>
 </td>
</tr>
<tr>
<td>Kosten(Mittel des Bereichs) in Euro:</td>
<td>
<input type="text"  name="kosten" value="${BearbeitenForm.kosten} "/>
</td>
</tr>
<tr>
<td>Gesamtnutzen pro Kalenderjahr:</td>
<td>
<c:out value="${BearbeitenForm.gesamtnutzen} "/>
</td>
</tr>
<tr>
<td>Anteiliger Gesamtnutzen(aktuelles Jahr):</td>
<td>
<c:out value="${BearbeitenForm.anteiliger_gesamtnutzen} "/>
</td>
</tr>
<%--
<tr>
<td>Prozess Thema</td>
<td>

</td>
</tr>
 --%>
 
<tr>
<td>Dokument</td>
<td>
<a href="doku?id=<%= request.getParameter("id") %>">
<img src="<c:out value="${context}"/>/images/los/document.gif" alt="doku" border="0">
</a>
</td>
</tr>
 
<tr>
<td>Foto</td>
<td><img src="image?id=<%= request.getParameter("id") %>" width="100" height="90"/>
</td>
</tr>


<tr>
<td>Katalog-Foto</td>
<td><a href="image?id=<%= request.getParameter("id") %>&type=katalog-foto"><img src="image?id=<%= request.getParameter("id") %>&type=katalog-foto" width="100" height="90" border="0"/></a>
</td>
</tr>
 
<tr>
<td>
 Foto upload: <input type="file" name="dokumentpfad" size="10"  maxlength="100000"/>
</td>
<td>
 Dokument upload:<font size="-2" color="#3388FF">(jpg,doc,pdf)</font>: <input type="file" name="dokument" maxlength="1000000" size="10"/>
</td>
</tr>
<tr>
<td>
 Katalog-Foto upload:  <input type="file" name="dokumentpfad_katalog" size="10" maxlength="500000"/>

</td>
<td>
LOS!Katalog
<a href="pdfWriter.do?id=<%= request.getParameter("id") %>"><img src="<c:out value="${context}"/>/images/los/pdf.gif" alt="katalog" border="0" ></a>

</td>
</tr>
</table>
<br></br>
  <input type="submit" value="Aktualisieren" onClick="window.close()">
<form:checkbox path="freischalten" />&nbsp;<b>LOS Freischalten?</b>
  
</form:form>
        

</body>
</html>
```


----------



## Foo (27. Mrz 2011)

Hi, 

mir fällt im Moment nicht wirklich ein wie ich Dir helfen kann :bahnhof:

Da es mit FF und früheren Versionen vom IE funktioniert, muss es auf jeden Fall mit dem request vom IE zu tun haben. Kannst Du den vielleicht mal beim (funktionierenden) FF und dem IE mit Fiddler o.Ä. abfangen ? Vielleicht hilft das und Du kommst weiter.


----------



## mvitz (28. Mrz 2011)

Schon mal ohne das "window.close()" als onSubmit versucht?

Ansonsten kann ich dir nur empfehlen alles aus der Form zu entfernen (bis auf das dokument) und dann den Controller nur die Daten des Dokumentes ausgeben zu lassen.


----------



## Foo (28. Mrz 2011)

Hi,

eine kleine Recherche zeigt, dass du nicht alleine bist.

spring3 ie8 - Google-Suche

Mit HTTP Header:

```
X-UA-Compatible: IE=EmulateIE7
```
sollte nach MSDN Blog Introducing IE=EmulateIE7 - IEBlog - Site Home - MSDN Blogs alles wieder schick sein 

Sobald du deinen IE8 in den Kompatibilitätsmodus setzt sollte er den Header mitsenden.

Probiers aus und gib bitte bescheid obs das war.

Gruss


----------



## hamid (28. Mrz 2011)

problem gelöst leute ! es lag tatsächlich an windows.close() und habe es mit window.setTimeout(window.close, 1) gelöst damit das ganze auch bei IE läuft !

mit X-UA-Compatible: IE=EmulateIE7 hat es leider net gefunzt....wäre sicher ne bessere lösung gewesen ! schade.

aber danke leute !


----------

