当前位置: 首页 > wzjs >正文

长沙网页设计培训机构汕头seo托管

长沙网页设计培训机构,汕头seo托管,南阳建设网站制作,成都网站关键排名一、数据绑定概述 将HTTP请求中的表单数据自动映射到Controller方法的参数中,支持多种数据类型绑定。 二、自动绑定数据类型 2.1 基本数据类型绑定 支持类型 基本类型:int, double 等包装类:Integer, Double 等String 类型 实现步骤 创…

一、数据绑定概述

将HTTP请求中的表单数据自动映射到Controller方法的参数中,支持多种数据类型绑定。


二、自动绑定数据类型
2.1 基本数据类型绑定

支持类型

  • 基本类型:int, double
  • 包装类:Integer, Double
  • String 类型

实现步骤

  1. 创建表单(JSP)
<form action="/demo01/demo01" method="post"><input type="text" name="id" placeholder="城市ID"/><input type="text" name="cityName" placeholder="城市名称"/><input type="text" name="GDP" placeholder="城市GDP"/><input type="text" name="capital" placeholder="是否是省会"/><input type="submit" value="提交"/>
</form>
  1. 编写Controller方法
@RequestMapping("/demo01")
public void demo01(Integer id, String cityName, Double GDP, Boolean capital, HttpServletResponse response) throws IOException {response.setContentType("text/html;charset=utf-8");response.getWriter().write("ID: " + id);response.getWriter().write("City: " + cityName);
}

注意事项

  • 表单字段名需与方法参数名一致
  • 空值会绑定为null(包装类允许为空)

2.2 实体类绑定

实体类定义

@Data // Lombok注解,自动生成getter/setter
public class City {private Integer id;private String cityName; // 注意String首字母大写private Double GDP;private Boolean capital;
}

Controller实现

@RequestMapping("/demo02")
public void demo02(City city, HttpServletResponse response) throws IOException {System.out.println(city); // 自动绑定表单数据到City对象
}

表单要求
字段名需与实体类属性名完全一致。


2.3 集合与数组绑定
2.3.1 数组绑定

Controller方法

@RequestMapping("/demo03")
public void demo03(Integer[] ids, HttpServletResponse response) throws IOException {response.getWriter().write(Arrays.toString(ids));
}

表单示例

<input type="checkbox" name="ids" value="1">
<input type="checkbox" name="ids" value="2">
2.3.2 List/Set绑定(需注解)

Controller方法

@RequestMapping("/demo04")
public void demo04(@RequestParam List<Integer> ids, HttpServletResponse response) {// 使用@RequestParam强制绑定集合
}@RequestMapping("/demo05")
public void demo05(@RequestParam Set<Integer> ids, HttpServletResponse response) {// Set自动去重
}
2.3.3 Map绑定(需注解)

Controller方法

@RequestMapping("/demo06")
public void demo06(@RequestParam Map<String, Object> params) {// 参数名格式:map[key]=value
}

表单示例

<input type="text" name="map['key1']" value="value1">
<input type="text" name="map['key2']" value="value2">

三、内置数据绑定对象
3.1 常用对象
  • Model:接口,数据存储在Request作用域
  • ModelMap:类,功能类似Model
  • ModelAndView:包含数据与视图路径
3.2 使用示例
@RequestMapping("/demo09")
public String demo09(Map<String,Object> map, Model model, ModelMap modelMap) {map.put("mapMsg", "Hello Map");model.addAttribute("modelMsg", "Hello Model");modelMap.addAttribute("modelMapMsg", "Hello ModelMap");return "forward:/demo09.jsp";
}

JSP显示数据

${requestScope.mapMsg}
${requestScope.modelMsg}
${requestScope.modelMapMsg}

四、乱码处理方案
4.1 配置过滤器

web.xml中添加:

<filter><filter-name>encodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param><init-param><param-name>forceResponseEncoding</param-name><param-value>true</param-value></init-param>
</filter>
<filter-mapping><filter-name>encodingFilter</filter-name><url-pattern>/*</url-pattern>
</filter-mapping>
4.2 注意事项
  • 确保过滤器配置在<servlet>标签之前
  • 同时处理请求和响应编码

五、关键问题总结
  1. 集合绑定
    • List/Set必须使用@RequestParam
    • Map需特殊格式参数名
  2. 类型匹配
    • 表单值需能转换为目标类型(如数字转Double)
  3. 命名规范
    • 表单字段名与参数名/属性名严格一致
  4. 乱码处理优先级
    • 推荐使用过滤器而非手动设置request.setCharacterEncoding()
http://www.dtcms.com/wzjs/514321.html

相关文章:

  • 化工产品东莞网站建设广东seo加盟
  • 莆田城市投资建设集团网站seo优化网站查询
  • b站免费视频广告建立网站的步骤
  • WordPress移动端加搜索框广州seo排名优化
  • 做网站 做手机app要学什么软件网页设计素材网站
  • 如何维护网站的运营微信软文案例
  • 做语文题的网站百度广告联盟平台官网
  • 怀集网站建设手机端网站优化
  • 什么网站做水果蔬菜批发营销网站设计
  • 做商城网站需要多大的服务器优化设计五年级上册语文答案
  • 列举免费域名注册的网站seo优化网络公司排名
  • 做网站提供服务器吗广州网站优化页面
  • 重庆微信网站建设策划公司一般怎么收费
  • jsp网站开发好书现在的seo1发布页在哪里
  • 专业建设网站应该怎么做seo技术分享博客
  • 著名设计公司排名谷歌seo最好的公司
  • 网站开发建设网络营销的方式包括
  • 网站风格设计前端seo主要优化哪些
  • 个人建站怎么做网站好下载优化大师
  • 宜宾做网站公司线上推广的三种方式
  • 南京360推广 网站建设口碑营销有哪些
  • 营销推广的作用淘宝seo对什么内容优化
  • 百度网站统计百度开店怎么收费
  • 华为云自助建站好不好自动搜索关键词软件
  • 成都建设网站的公司有哪些互联网营销师培训学校
  • 网站建设与维护专业实训室百度搜索排名与点击有关吗
  • 手机如何登陆Wordpress百度seo关键词优化
  • 网站开发工资有多少热搜榜上2023年热门话题
  • 旅游搭建网站黄页网络的推广网站有哪些
  • 手机网站 建设快速提升排名seo