Spring MVC表单提交

实际应用中,列表中的单条记录的修改,可能需要传很多对象参数到后台服务器,Spring MVC表单标签<form:> 提供了一种简洁的提交方式。

 1 <form id="form1" class="form-horizontal chukong_form" method="post" action="${ctx}/channel/sdkversion/postedit.do">
 3                 <form:hidden path="sdkversion.id" />
 4                 <div class="form-group">
 5                     <label class="col-sm-3 control-label">版本号</label>
 6                     <div class="col-sm-6">
 7                         <form:input path="sdkversion.sdkVersion" value="${sdkversion.sdkVersion}" class="form-control phone1" id="m_version" />
 8                     </div>
 9                 </div>
10
11                 <div class="form-group">
12                     <label class="col-sm-3 control-label">加密密钥</label>
13                     <div class="col-sm-6">
14                         <form:input path="sdkversion.itemMapperKey" value="${sdkversion.itemMapperKey}" class="form-control phone1" id="m_itemkey" />
15                     </div>
16                 </div>
17
18                 <div class="form-group">
19                     <label class="col-sm-3 control-label">版本描述</label>
20                     <div class="col-sm-6">
21                         <form:input path="sdkversion.desc" value="${sdkversion.desc}" class="form-control phone1" id="m_desc" />
22                     </div>
23                 </div>
24
25                 <div class="modal-footer" style="border:none;">
26                     <div class="col-sm-offset-2 col-sm-6">
27                         <!-- <span style="margin-right: 30px;" class=‘label alert-warning‘ id="msgflag"></span> -->
28                         <button type="button" class="btn searchB" id="btn_submit"
29                             data-loading-text="Loading..." autocomplete="off">提&nbsp;&nbsp;交</button>
30                         <a class="btn searchA" href="javascript:history.go(-1);" style="margin:2px 1.6% 0;">返&nbsp;&nbsp;回</a>
31                     </div>
32                 </div>
33             </form>

form标签
    和使用任何JSP扩展标签一样,在使用Spring表单标签之前,你必须在JSP页面中添加一行引用Spring表单标签的声明,如下所示:

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%> ①引入标签的声明
    <html>
    … ②声明后,在页面中就可以使用任意Spring表单标签了
    </html>   

产生的HTML页面为:

服务器端

 1 @RequestMapping(value = "/sdkversion/postedit", method = RequestMethod.POST)
 2     public String sdkVersionModify(final HttpServletRequest request,
 3             final Model model, final SdkVersion sdkversion) {
 4         sdkversion.setModifyDatetime(new Date());
 5         final User currentUser = SessionManager.getCurrentUser(request.getSession());
 6         sdkversion.setModifyBy(new Long(currentUser.getId()).intValue());
 7         try {
 8             sdkversionFacade.sdkVersionModify(sdkversion);
 9         } catch (AppException appEx) {
10             DEBUG_LOGGER.error("edit SdkVersion fail.", appEx);
11             throw new SystemException(appEx);
12         } catch (Exception ex) {
13             final String error = "edit SdkVersion fail.";
14             DEBUG_LOGGER.error(error, ex);
15             throw new SystemException(error, ex);
16         }
17
18         return "redirect:/channel/sdkversion/query";
19     }

其中,form表单中的SdkVersion 对象的值以对象的形式传入后台进行操作,不用按原始的以表单中的name获取各个属性值,代码简洁,容易操作。

另外:

1.复选框标签的使用

1    兴趣:
2     <form:checkbox path="favorites" value="1"/>篮球
3     <form:checkbox path="favorites" value="2"/>足球
4     <form:checkbox path="favorites" value="3"/>阅读
5     <form:checkbox path="favorites" value="4"/>旅游    

2.输入框标签的使用

<form:input path="sdkversion.itemMapperKey" value="${sdkversion.itemMapperKey}" />

3.单选框标签的使用

1  性 别:<form:radiobutton path="obj.sex" value="0"/>男
2 <form:radiobutton path="obj.sex" value="1"/>女

4.下拉框标签的使用

1 <form:select path="obj.city">
2 <form:option value="" label="--请选择--"/> ①提示性的选项
3 <form:options items="${cityMap}" itemValue="key" itemLabel="value"/>②真实的选项数据
4 </form:select> 
时间: 2024-10-26 18:19:49

Spring MVC表单提交的相关文章

Spring MVC 表单提交

下面的例子展示了如何编写一个简单的基于Web的应用程序,它利用了使用Spring的Web MVC框架的HTML表单.要开始使用它,使用Eclipse IDE,并按照以下步骤使用Spring Web框架开发动态表单的Web应用程序: 步骤 描述 1 Create a Dynamic Web Project with a name HelloWeb and create a packagecom.yiibai under the src folder in the created project.

[Spring MVC] 表单提交日期转换问题,比如可能导致封装实体类时400错误

三种格式的InitBinder @InitBinder//https://stackoverflow.com/questions/20616319/the-request-sent-by-the-client-was-syntactically-incorrect-spring-mvc-jdbc-te public void initBinder(WebDataBinder binder) { SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/

spring mvc表单修改提交

实际应用中,列表中的单条记录的修改,可能需要传很多对象参数到后台服务器,Spring MVC表单标签<form:> 提供了一种简洁的提交方式. 1 <form id="form1" class="form-horizontal chukong_form" method="post" 2 action="${ctx}/channel/sdkversion/postedit.do"> 3 <form:

spring mvc表单的展现、输入处理、校验的实现

之前已经实现了spring mvc的入门例子及如何处理带参数的请求Controller编写.本文主要记录: 1)重定向请求 2)处理路径中含有变量的请求 3)使用JSR-303进行校验 ① 首先,编写一个方法实现一个表单的展现: //展示表单    //params 可限制该方法只对包含特定参数的请求进行处理    @RequestMapping(method=RequestMethod.GET,params="new")    public String createForm(Mod

Spring MVC笔记(三) Spring MVC表单处理

创建动态WEB工程 FormHandling,并添加SpringMVC相关jar包(同Hello world示例一致),添加DispatcherServlet配置,如下: web.xml 1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http

Spring MVC - 表单处理示例

环境搭建 环境: Intellij IDEA Spring MVC 完整的项目文件结构如下所示: Student.java package com.ktao.controller; public class Student { private Integer age; private String name; private Integer id; public void setAge(Integer age) { this.age = age; } public Integer getAge(

MVC表单提交写法1

初学MVC,感觉跟以前的aspx页面差别很大,我们就先来看看MVC的表单是怎么提交的吧. 现在我们用一个最简单的例子来看一看MVC是怎么提交表单的(这一个例子中,我们的关注点是如何提交表单,所以不涉及到任何的业务逻辑) Model: using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace MvcApplication2.Models { public class

Spring MVC 表单验证

1. 基于 JSR-303(一个数据验证的规范): import javax.validation.constraints.Min; import javax.validation.constraints.NotNull; import org.hibernate.validator.constraints.NotBlank; public class User { private String username; private String password; private int age

spring mvc表单form值自动传到javabean-注解@ModelAttribute

直接通过Form Bean进行表单可以简化表单提交的处理,特别是对于复杂表单,过于简单的表单就不建议了,因为毕竟需要额外创建一个Form Bean. 前段时间项目中有一个比较复杂的表单,有多层次而且涉及数组,如果不采用Form Bean的处理方式会比较麻烦,但多层而且是数组,之前一直没有找到如何通过Form Bean方式进行处理,但相信Spring MVC应该可以做到,因为Spring的强大之处就是IOC嘛,所以在网上查阅资料,并不断尝试后终于解决,现在不管是多么复杂的表单均可以通过Form B