Search code examples
spring-mvchashmapmultipartmodelattributespring-form

How to link a form path with a static map key in SpringMVC?


I have an object FileDTO containing a static Map (Map).

public class FileDTO implements Serielizable {

    private Map<String, MultipartFile> fileMap;

    public Map<String, MultipartFile> getFileMap() {
        return fileMap;
    }

    public void setFileMap(Map<String, MultipartFile> fileMap) {
        this.fileMap= fileMap;
    }
}

I linked my form to FileDTO using modelAttribute tag.

<form:form modelAttribute="fileDTO">
....
</form:form>

I try to send an entry via this form but the fileMap is null.

<form:input type="file" id="${inputName}" name="${inputName}" 
    path="${fileMap[inputName]}" />

The controller is a PostMapping having the parameter ModelAttribute FileDTO fileDTO.

Do you have any idea?

Thank you in advance


Solution

  • You're not binding your fileMap HashMap attribute attribute correctly :

    try this :

    <form:input type="file" id="${inputName}" name="${inputName}" 
        path="fileMap['${inputName}']" />