使用springboot和thymeleaf在html中显示省市二级联动

使用springboot和thymeleaf在html中显示省市二级联动

  1. 在select上面的省和市加上id,可以获取对应的id
<li> 所属区域:
        <select id="province">
        </select>
        <select id="city">
        </select>
      </li>
  1. 先获取所有的省和市,每一个option里面加上value用来获取省id,继而用来查询所有的市
$(function () {
    // 获取所有省
    $.get("../storage/provinceList",function (data) {
        console.log(data);
      if(data != null){
        var str = '<option>请选择省份</option>\n';
          for (var i = 0;i < data.length;i++) {
          str += '<option value='+data[i].id+'>'+ data[i].pname +'</option>\n';
        }
        $("#province").html(str);
      }
    });
    // 获取所有市
    $.get("../storage/cityList",function (data) {
        console.log(data);
      if(data != null){
        var str = '<option>请选择城市</option>\n';
        for (var i = 0;i < data.length;i++) {
          str +=  '<option value='+data[i].pid+'>'+ data[i].cname +'</option>\n';
        }
        $("#city").html(str);
      }
    });
  1. 根据省id获取对应的所有市
// 根据省id获取对应的市
    $("#province").change(function () {
    // 这里的val()后面的一对小括号别忘了,我就是因为这个找了很久的bug
      var id = $("#province").val();
      if(id == ""){
          return;
      }
      $.ajax({
          type:"get",
          url:"../storage/city/" + id,
          success: function (data) {
              console.log(data);
              var city = $("#city").empty();
              city.append('<option>请选择城市</option>');
              for (let i = 0; i < data.length; i++) {
                  city.append("<option value='"+data[i].id+"'>" + data[i].cname + "</option>");
              }
          }
      });
    });
  });
  1. 以下是控制层的代码:
@ResponseBody
	// 获取所有的市
    @GetMapping("/provinceList")
    public List<Province> provinceList(){
        List<Province> provinceList = warehouseService.getProvinceList();
        return provinceList;
    }
	// 通过REST风格根据省id获取对应所有的市
    @ResponseBody
    @GetMapping("/city/{id}")
    public List<City> city(@PathVariable("id") Integer id){
        List<City> city = warehouseService.getCityById(id);
        return city;
    }
	// 获取所有的市
    @ResponseBody
    @GetMapping("/cityList")
    public List<City> cityList(){
        List<City> cityList = warehouseService.getCityList();
        return cityList;
    }

作者小菜鸡一枚,如有错误请指正,欢迎大家讨论!!!

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
当然!以下是一个使用Spring Boot和Thymeleaf显示HTML页面的示例: 首先,确保你已经添加了Spring Boot和Thymeleaf的依赖项。在你的`pom.xml`文件添加以下内容: ```xml <!-- Spring Boot依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- Thymeleaf依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> ``` 接下来,创建一个简单的控制器类,在该类定义一个处理请求的方法,将要显示HTML页面返回给客户端: ```java import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; @Controller public class HomeController { @GetMapping("/") public String home(Model model) { model.addAttribute("message", "Hello, Thymeleaf!"); return "home"; } } ``` 在上述代码,`@Controller`注解将该类标记为控制器,`@GetMapping("/")`注解指定了处理根路径请求的方法。在该方法,我们使用`Model`对象将一个名为"message"的属性添加到模型,并将其值设置为"Hello, Thymeleaf!"。最后,我们返回字符串"home"作为视图名称。 接下来,创建一个名为`home.html`的HTML模板文件,并将其放置在`src/main/resources/templates`目录下: ```html <!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head> <title>Home</title> </head> <body> <h1 th:text="${message}"></h1> </body> </html> ``` 在上述代码,我们使用Thymeleaf的语法将`message`属性的值显示在`<h1>`标签。 最后,运行你的Spring Boot应用程序,并访问根路径(例如:http://localhost:8080/)。你应该能够看到页面上显示着"Hello, Thymeleaf!"的消息。 希望这个例子能帮助到你!如果你有任何进一步的问题,请随时问我。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值