jsp——动态加载下拉框

我会带着你远行 2022-05-17 12:45 310阅读 0赞

◆思路

   首先看到“动态加载下拉框”,别的不知道,但一听到下拉框,下拉框下拉时肯定会有很多选项,至少后端得把这些下拉选项查好返回一个集合,然后前端再循环这个集合放到下拉选项中,也就是一个list。然后我们得考虑“动态加载”了,动态加载就是刚才说的视情况而加载,既然要视情况而定肯定少不了判断啦。那如何判断呢?在哪些地方做判断呢?

1、不加载下拉框

  不加载下拉框也就是说连数据都不要返回了,返回在Controler中写,也就是必不可少的就是要在Controler中做判断,在此情况下直接就不用调返回数据的接口和给前端返回数据了
2、加载下拉框
  加载下拉框其实也就是要要调接口然后再给前端返数据,最后jsp再循环返回的数据。
  综上为了简便重复代码就是在Controler和jsp中都加上判断,如何加呢?请看下边的代码部分。

◆代码

1、Controler

  1. //getToken获取到的值为-1就加载地区下拉框,否则不加载
  2. @RequestMapping("/index")
  3. public String index(Active bean, Active act,HttpServletRequest request, HttpServletResponse response, ModelMap model) {
  4. if (getToken().equals("-1")){
  5. //查询地区表中的所有地区
  6. List<Token> regionList = tokenService.selectByParam(null);
  7. //把list传给jsp
  8. model.addAttribute("regionList", regionList);
  9. //isToken用于jsp判断是否加载下拉框,为1时加载
  10. model.addAttribute("isToken", 1);
  11. }
  12. //返回jsp
  13. return getTheme() +"/../../index";
  14. }

2、jsp

  1. <c:if test="${isToken eq 1 }">
  2. <select name="regionId" class="select" id="regionId" style="width:200px;height: 30px;">
  3. <option value=''>地区</option>
  4. <c:forEach items="${regionList}" varStatus="regionList">
  5. <c:set var="region" value="${regionList.current}"/>
  6. <option <c:if test="${act.regionId==region.id }">selected</c:if>
  7. value="${region.id}">${region.sysName}</option>
  8. </c:forEach>
  9. </select>
  10. </c:if>

发表评论

表情:
评论列表 (有 0 条评论,310人围观)

还没有评论,来说两句吧...

相关阅读