java - 使用 enctype ="multipart/form-data"将选定的图像获取到 Controller 类?

标签 java jsp spring-mvc file-upload multipartform-data

JSP:

<form action="addUpdateSchool" method="post" enctype="multipart/form-data">
        <table align="center">
            <tr>
                <td>School Name :</td>
                <td><input type="text" id="school_name" name="school_name" /></td>
            </tr>
            <tr>
                <td>Address :</td>
                <td><textarea rows="4" cols="30" id="address" name="address"></textarea> </td>
            </tr>
             <tr>
                <td>Logo :</td>
                <td><input type="file" id="logo" name="logo"/></td>
            </tr>
             <tr>
                <td><input type="submit" onclick="return validation();" /></td>
            </tr>
        </table>
    </form>

我试图在 Controller 类中获取上述所有表单属性(包括 Logo ),但其显示为 null。

如何解决?

Controller 类:

@RequestMapping(value = "/addSchool", method = RequestMethod.POST)
    public String addSchool(@ModelAttribute SchoolModel schoolModel, HttpSession session) {

     System.out.println("name: "+schoolModel.getSchool_name);

} 

最佳答案

您必须在应用程序上下文中添加 multipartResolver 才能处理 View 页面中的 enctype="multipart/form-data"。 在应用程序上下文 xml 文件中添加以下内容

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

并在类路径中添加适当的 jar 文件。

更多信息可以查看spring的文档here

关于java - 使用 enctype ="multipart/form-data"将选定的图像获取到 Controller 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35405956/

相关文章:

java - 在 Buildship : how can I substitute a Gradle project with a built jar?

java - 如何在没有确认的情况下消费 100 条消息,然后工作然后确认它们?

java - 在 JSP EL 中使用接口(interface)默认方法时出现 "Property not found on type"

java - 状态 404 - MockMvc 授权 - Spring boot REST 文档

java - Deitel Java 练习 6.30

java - 使用java中包含对象的属性获取arraylist的索引

java - 如何使用JSP将图像上传到DAM

java - 通过填写表单中的详细信息,对另一个服务进行 REST URL 调用

java - 应用程序监听器中的 Spring 加载应用程序属性

java - 如何使用 backbone marionette js 获取网格