遍历List取值

阅读量: 167 编辑

遍历List取值

<#list> 中的其他指令

  • sep ,最后一个item处理 <#sep>后面的符号,如果是最后一个元素就不显示此符号

  • break 跳出遍历<#break>

  • ?counter 第几个item,从1开始

  • ?index 第几个item,从0开始

  • ?has_next 是否是有下一个

一、语法

<#list collection as item>
    输出item
</#list>

<#list collection as item>
    输出item
<#else>
    collection为空,输出
</#list>

<#list collection>
    ...
    <#items as item>
      输出item
    </#items>
    ...
<#else>
</#list>

二、代码实战

S11Controller.java

package com.qicong.sboot.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.servlet.ModelAndView;

import java.util.ArrayList;
import java.util.List;

/**
 * User: 祁大聪
 */
@Controller
public class S11Controller {

    @GetMapping("/s11")
    public ModelAndView s11(){
        ModelAndView mv = new ModelAndView("s11");
        List<Person> list = new ArrayList<Person>();
        for(int i = 0; i < 10; i++){
            Person p = new Person();
            p.setName("sanNi-" + i);
            p.setAge(20 + i);
            p.setHeight(170);
            list.add(p);
        }
        mv.addObject("personList", list);

        return mv;
    }

}


s11.html

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>

        <#list personList as item>
            ${item?counter} : ${item.name}, ${item.age}, ${item.height} <#sep>;
            ${item?has_next?string('yes', 'no')}
            <br/><br/>
        </#list>

    </body>
</html>