You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java后端如何获取前端下拉框选中值并进行数据库查询

Java后端获取前端下拉框选中值的常见实现方式

前端下拉框选中值最终是通过HTTP请求传递给后端,以下是几种主流的实现方案:

1. 表单参数提交

适用于传统同步表单提交、form-data格式的异步请求场景:

  • 前端需要给select标签设置name属性,例:<select name="country">,表单提交时会自动将选中值作为country参数携带。
  • 后端获取方式:
    • 原生Servlet场景:调用HttpServletRequest的getParameter方法即可获取,代码示例:String country = request.getParameter("country");
    • SpringMVC/SpringBoot场景:直接通过参数绑定接收,参数名和前端name属性值一致即可自动注入,也可通过@RequestParam显式指定绑定的参数名。
      Spring代码示例:
    @PostMapping("/queryData")
    public List<Map> queryByCountry(@RequestParam("country") String selectedCountry) {
        // 直接使用selectedCountry执行数据库检索逻辑
        return countryService.queryByCountryName(selectedCountry);
    }
    

2. JSON请求体提交

适用于前后端分离的异步请求场景,是当前最常用的交互方式:

  • 前端将下拉框选中值放入JSON请求体中传输,例:{"country": "中国"},请求头设置content-type: application/json。
  • 后端获取方式:
    SpringBoot中通过@RequestBody注解绑定参数,可自定义DTO类接收或者直接用Map接收:
    1. 自定义DTO接收(推荐,方便参数校验)
    // 定义参数接收实体
    @Data
    public class QueryReqDTO {
        private String country;
    }
    
    // Controller接口
    @PostMapping("/queryData")
    public List<Map> queryByCountry(@RequestBody QueryReqDTO req) {
        String selectedCountry = req.getCountry();
        // 执行数据库检索
    }
    
    1. Map快速接收
    @PostMapping("/queryData")
    public List<Map> queryByCountry(@RequestBody Map<String, Object> params) {
        String selectedCountry = (String) params.get("country");
        // 执行数据库检索
    }
    

3. URL参数提交

适用于GET请求场景,前端将选中值拼接到URL中:

  • 查询参数格式:请求URL示例为GET /queryData?country=中国,后端接收方式和表单参数提交一致,用@RequestParam绑定即可。
  • RESTful路径参数格式:请求URL示例为GET /country/中国/queryData,后端用@PathVariable绑定路径参数:
    @GetMapping("/country/{country}/queryData")
    public List<Map> queryByCountry(@PathVariable("country") String selectedCountry) {
        // 执行数据库检索
    }
    

注意事项

  • 前后端需提前约定好参数名、请求的content-type类型,避免参数名不匹配、格式不兼容导致后端无法取值。
  • 拿到参数后建议先做非空、合法性校验,避免无效参数传入数据库,同时查询时使用ORM框架的预编译能力,避免SQL注入风险。

内容的提问来源于stack exchange,提问作者John

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 12:45:04