spring mvc中使用spring form标签无法正常提交表单
2017-01-05 13:45
429 查看
spring MVC中使用spring的form标签库,
控制器的代码如下:
在jsp的
在spring的配置文件中添加了
并在
edit.jsp代码如下:
<sf:form method="POST" modelAttribute="spitter" enctype="multipart/form-data"> <fieldset> <table cellspacing="0"> <tr> <th><sf:label path="fullName">Full name:</sf:label> </th> <td><sf:input path="fullName" size="15" id="user_full_name" /><br /> <sf:errors path="fullName" cssClass="error" /> </td> </tr> <tr> <th><sf:label path="name">Username:</sf:label> </th> <td><sf:input path="name" size="15" maxlength="15" id="user_screen_name" /> <small id="username_msg">No spaces, Please.</small><br /> <sf:errors path="name" cssClass="error" /> </td> </tr> <tr> <th><sf:label path="password">Password:</sf:label> </th> <td><sf:password path="password" size="30" showPassword="true" id="user_password" /> <small>6 characters or more.</small><br /> <sf:errors path="password" cssClass="error" /> </td> </tr> <tr> <th><sf:label path="email">Email Address:</sf:label> </th> <td><sf:input path="email" size="30" id="user_email" /> <small>In case you forget something.</small><br /> <sf:errors path="email" cssClass="error" /> </td> </tr> <tr> <th></th> <td> <sf:checkbox path="updateByEmail" id="user_send_email_newsletter" /> <label for="user_send_email_newsletter">Send me email updates!</label> </td> </tr> <tr> <th></th> <td><input name="commit" type="submit" value="Create Account." /></td> </tr> </table> </fieldset> </sf:form>
控制器的代码如下:
@RequestMapping(method = RequestMethod.GET, params = "new") public String createSpitterProfile(Model model) { model.addAttribute(new Spitter()); return "spitters/edit"; } @RequestMapping(method = RequestMethod.POST) public String addSpitterFromForm(@Valid @ModelAttribute("spitter")Spitter spitter, BindingResult bindingResult) { if(bindingResult.hasErrors()) { return "spitters/edit"; } spitterService.saveSpitter(spitter); return "redirect:/spitter/" + spitter.getName(); }
在jsp的
<sf:form method="POST" modelAttribute="spitter" enctype="multipart/form-data">语句中,如果
enctype=application/x-www-form-urlencoded则运行正常;如果调成
multipart/form-data后,提交表单时不管用户名写的是什么,转到的网页后面显示的用户名都是
null。请问这是怎么回事?
multipart/form-data这是上传文件使用的编码方式,你的表单当然要设置成
enctype=application/x-www-form-urlencoded
在spring的配置文件中添加了
multipartResolver:
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver" > <property name="maxUploadSize" value="500000" /> </bean>
并在
pom.xml中加入了
commons-io和
commons-fileupload依赖后,可以在
multipart/form-data下正常提交表单数据了。
相关文章推荐
- 使用Spring MVC表单标签二
- ASP.NET中使用JQuery UI Dialog致表单无法提交的解决方法
- strsuts2使用标签防止表单重复提交
- Spring MVC 复杂表单分部提交--使用AbstractWizardFormController解决方案
- struts2 lesson six struts2中的拦截器,过滤器,自定义拦截器,使用拦截器解决表单重复提交,常用标签的使用
- 使用Ext Viewport进行页面布局时Panel中的sumit按钮无法提交表单数据
- 第三十章 使用标签防止表单重复提交
- spring mvc系列文章 - 使用Spring MVC表单标签
- IE6下无法通过a标签的js提交表单解决方案
- spring mvc使用@InitBinder 标签对表单数据绑定
- jQuery UI Dialog控件中的表单无法正常提交的解决方法
- Struts2学习笔记(二十):使用标签防止表单重复提交
- Struts表单无法提交/循环标签无法读取——禁忌单词province
- jQuery UI Dialog控件中的表单无法正常提交的解决方法
- 在页面中使用WebWork的token标签解决表单重复提交问题
- form 的 encoding设置不当导致在jsp中使用request.getParametre(paraName)无法获取表单提交的值
- jQuery UI Dialog控件中的表单无法正常提交的解决方法
- jQuery UI Dialog控件中的表单无法正常提交的解决方法
- JS、jqueryie6浏览器下使用js无法提交表单的解决办法
- 使用Spring MVC表单标签