`
y806839048
  • 浏览: 1126580 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

spring mvc 用map的形式接收form表单的参数:

 
阅读更多

 

只要在@controller中有@RequestParam Map<String, Object> regUser;这个map会自动在jsp提交的时候,将name作为map的key,对应的值作为map 的value,

这种适用注册等字段复杂,但是重用性不高的情况(此时不是另建bo接收),另用map接收由于用单个参数接收url之后的参数对name是依靠数据库临时组合出来的form,

中的域值可以都接到,详见后续的不同name的多图片上传,就连url后面的参数“=”也可

不需要可以

                param.remove("navTabId");

param.remove("callbackType");

param.remove("menuitemId");

param.put("PROVINCE_AREA_KEY", param.get("provinceAreaKey"));//替换成数据库字段

param.put("CITY_AREA_KEY", param.get("cityAreaKey"));

param.put("COUNTY_AREA_KEY", param.get("country"));

param.remove("provinceAreaKey");

param.remove("cityAreaKey");

param.remove("country");

param.remove("button2");

 

 

http://www.codes51.com/article/detail_114729.html

 

@RestController

@RequestMapping(value = "/mapParameter/")

public class MapParameter {

 

/**

* 用Map接收前端提交的Form Data或Query String,如果有相同的参数名,只接收第一个

* @author XuJijun

* @param params

* @return

*/

@RequestMapping(value = "map")

public Map<String, Object> test1(@RequestParam Map<String, Object> params) {

Map<String, Object> resultMap = new HashMap<String, Object>();

resultMap = params;

return resultMap;

}

 

/**

* 用MultiValueMap接收前端提交的Form Data或Query String,可以接收相同的参数名的值到同一个list中

* @author XuJijun

* @param params

* @return

*/

@RequestMapping(value = "multiValueMap")

public Map<String, List<Object>> test2(@RequestParam MultiValueMap<String, Object> params) {

Map<String, List<Object>> resultMap = new HashMap<>();

resultMap = params;

return resultMap;

}

 

/**

* 用Map接收前端提交的json格式的Request Payload,如果有相同的参数名,只接收最后一个

* @author XuJijun

* @param params

* @return

*/

@RequestMapping(value = "jsonParams")

public Map<String, Object> test3(@RequestBody Map<String, Object> params) {

Map<String, Object> resultMap = new HashMap<String, Object>();

resultMap = params;

return resultMap;

}

}

 

 

示例:

 

 

@RequestMapping("/account/tbCusFirmChg/edit")

public String add(@RequestParam(value = "customerKey", required = false) String customerKey,@RequestParam Map<String, Object> regUser,Model model) throws EsteelException {

 

}

form action="<c:url value='/account/tbCusFirmChg/edit?navTabId=userLiNav&callbackType=closeCurrent'/>" method="post" validate="true" onsubmit="return validForm();">

<div style="height: 645px; overflow:auto; ">

    <input type="hidden" name="CUSTOMER_KEY" value="CUSTOMER_KEY">

    <input type="hidden" name="menuitemId" value="menuitemId">

    <fieldset style="margin: auto;">

    <legend>公司信息</legend>

    <dl style="width: 50%;float: left;margin-bottom: 3px;">

    <dt style="float: left;text-align:right;width: 20%; ">会员编码:</dt>

    <dd style="float: left;text-align:left;width: 30%;"><input  name="CUSTOMER_ID" id="regUser_CUSTOMER_ID" class="required  textInput"  value="${CUSTOMER_ID}" maxlength="18" onkeydown="if (event.keyCode==13)event.keyCode=9;"/></dd>

    </dl>

    <dl style="width: 50%;float: left;margin-bottom: 3px;">

    <dt style="float: left;text-align:right;width: 20%;">子账号席位:</dt>

    <dd style="float: left;text-align:left;width: 30%;"><input  name="SET_USER_NUM" id="regUser.SET_USER_NUM" class="input-longer"  value="${voo.SET_USER_NUM}" maxlength="3" /></dd>

    </dl>

    

    <dl style="width: 50%;float: left;margin-bottom: 3px;">

    <dt style="float: left;text-align:right;width: 20%;">公司类型:</dt>

    <dd style="float: left;text-align:left;width: 30%;"> <label id="regUser_COMP_TYPEA" ><input type="radio" id="COMP_TYPEA" name="COMP_TYPE" value="Y" 

    

    <c:if test="${voo.COMP_TYPE=='Y' or voo.COMP_TYPE!='N'}">checked="checked"</c:if> />境内<input type="radio" name="COMP_TYPE" value="N" <c:if test="${voo.COMP_TYPE=='N'}">checked="checked"</c:if> />境外</label></dd>

    </dl>

    <dl style="width: 50%;float: left;margin-bottom: 3px;">

    <dt style="float: left;text-align:right;width: 20%;" ><span id="wmzzmc">外贸资质:</span></dt>

    <dd style="float: left;text-align:left;width: 30%;" ><SPAN id="wmzzxz"><label id="regUser_TRADE_APTA"><input type="radio" id="TRADE_APTA" name="TRADE_APT" value="Y" <c:if test="${voo.tradeApt=='Y' or voo.tradeApt!='N' or voo.COMP_TYPE=='Y'}">checked="checked"</c:if> />具备<input type="radio" name="TRADE_APT" value="N" <c:if test="${voo.tradeApt=='N'}">checked="checked"</c:if> />不具备</label></SPAN></dd>

    </dl>

    </div>

    </form>

 

 

 

分享到:
评论

相关推荐

    Spring MVC的总结梳理

    5. **灵活的数据模型转换**:Spring MVC使用基于Map的键/值对来实现数据模型的转换,便于与其他视图技术的集成。 #### 三、Spring MVC架构与工作流程 **Spring MVC**采用了请求驱动的架构模式,主要包括以下核心...

    Spring MVC实战系列教程(2)--常用请求参数接收方式

    本教程将深入探讨Spring MVC中常用的请求参数接收方式。通过实践案例`ParamPassDemo.java`,我们将了解到几种常见的方法,以便在控制器中获取用户提交的数据。 1. **路径变量(Path Variables)** 当URL路径中包含...

    Spring &Web; &MVC;外文翻译.zip

    9. **Form Handling and Data Binding**: Spring MVC提供强大的表单处理和数据绑定功能。它可以自动将HTTP请求参数绑定到Java对象的属性上,反之亦然。 10. **Validation**: Spring MVC集成Hibernate Validator,...

    spring mvc 文档

    ### Spring MVC框架详解 #### 一、目的与假设 **目的**:本文旨在为开发者提供一个快速入门Spring Web应用框架的指南。Spring是一款开源框架,主要用于Web应用开发,其官方网站为http://www.springframework.org。...

    spring_mvc_jar.zip

    10. **Converter/Spring MVC Form Binding**:Spring MVC提供了数据绑定机制,可以自动将请求参数转换为模型对象的属性,反之亦然。 11. **Validation**:Spring MVC支持JSR 303/JSR 349 Bean Validation标准,可以...

    spring mvc spring uploadfiles 插件 实现多附件和存文本同时上传解决代码(实战项目)

    3. **文件上传处理**:使用Spring MVC中的`MultipartFile`接口来接收上传的文件。 4. **文本信息处理**:使用普通表单字段或JSON字符串形式传递文本信息。 5. **后端逻辑处理**:在控制器(Controller)中处理这些文件...

    EXT异步提交FORM表单

    ### EXT异步提交FORM表单知识点详解 #### 一、EXT异步提交FORM表单概述 在现代Web应用开发中,异步提交表单是一种常见的技术手段,它能够提升用户体验,减少页面刷新带来的数据丢失风险,并能有效提高系统的响应...

    spring mvc框架搭建

    在本文中,我们将深入探讨如何使用 Maven 搭建一个包含 Spring MVC、MyBatis 和 Velocity 的基本应用。 首先,让我们从 Maven 说起。Maven 是一个项目管理和综合工具,它通过定义项目的结构和依赖关系,简化了构建...

    Spring MVC前后端的数据传输的实现方法

    在Spring MVC框架中,前后端的数据传输是应用开发中的关键环节。本文将详细阐述Spring MVC如何实现在前端和后端之间传递数据。 首先,我们关注后端向前端传输数据的方法。在Spring MVC中,最常见的方式是通过`Model...

    java map转Multipart/form-data类型body实例

    在Java开发中,时常需要将一些数据以表单形式上传到服务器,比如使用`multipart/form-data`编码类型。表单数据通常由一些文本字段和文件字段组成,而当我们想将Java中的`Map`对象转换为这种格式时,就需要进行一系列...

    SpringMVC入门很简单之数据绑定(上)

    在本文中,我们将深入探讨SpringMVC框架中的数据绑定,这是Spring MVC开发中不可或缺的一部分,尤其是在处理用户输入和展示响应时。数据绑定是将HTTP请求参数与Java对象的属性关联的过程,极大地简化了Web应用程序的...

    Spring-Reference_zh_CN(Spring中文参考手册)

    2.5.1. Spring MVC的表单标签库 2.5.2. Spring MVC合理的默认值 2.5.3. Portlet 框架 2.6. 其他特性 2.6.1. 动态语言支持 2.6.2. JMX 2.6 .3. 任务规划 2.6.4. 对Java 5(Tiger)的支持 2.7. 移植到Spring 2.0 ...

    浅谈springMVC接收前端json数据的总结

    这是表单提交的默认格式,数据被编码成键值对形式,例如data1=1&data2=2。在Spring MVC中,可以通过request.getParameter("data1")获取这些值。 2. multipart/form-data 主要用于文件上传,支持二进制数据的传输...

    springmvc 学习笔记

    在表单处理方面,Spring MVC 支持数据绑定,能将表单参数自动绑定到 Command 或 Form 对象中。如果表单字段与对象属性相匹配,Spring 将调用相应的 `set` 方法将参数注入对象。此外,还可以使用属性编辑器...

    Web框架-spring

    Spring Web MVC 框架是Spring框架的核心组件之一,它为构建基于Java的Web应用程序提供了强大的支持。Spring Web MVC的设计理念是围绕DispatcherServlet展开的,DispatcherServlet作为一个前端控制器,负责接收HTTP...

    详解SpringMVC——接收请求参数和页面传参

    在Spring MVC框架中,接收请求参数和向页面传递数据是两个关键操作,它们构成了Web应用中数据交互的基础。本文将详细解析如何在Spring MVC中实现这些功能。 首先,我们来看如何**接收请求参数**: 1. **使用...

    Spring3.1整合FreeMarker2.3.19

    综上所述,"Spring3.1整合FreeMarker2.3.19"涉及的关键技术点包括Spring MVC的配置、FreeMarker模板的编写和使用,以及两者之间的数据绑定和交互。在实际开发中,结合标签和源码分析,能更好地理解和应用这一整合。

    查询返回Map

    查询返回Map通常发生在服务器端,例如在Spring MVC或Servlet环境中。开发者会编写一个Controller方法,该方法会执行SQL查询,如使用JDBC、MyBatis或Hibernate等持久层框架。查询结果通常是多个行,每一行可以映射为...

    spring jquery ajax登录

    在Spring MVC中,我们需要创建一个Controller来接收并处理登录请求。这个Controller应该验证用户名和密码,如果验证通过,可以设置session属性并重定向到主页面;否则,返回错误信息。 ```java @Controller public ...

Global site tag (gtag.js) - Google Analytics