Thymeleaf th:每个+春季MVC

时间:2017-07-31 12:26:46

标签: java spring spring-mvc thymeleaf

我是thymeleaf和Spring MVC的初学者。

我尝试使用图片制作一个循环,但我认为我的控制器会将空列表返回给我,因为当我查看我的页面时,它并没有显示我的html:每个。

我做了大量的研究,并将我的代码基于Spring mvc教程:http://www.thymeleaf.org/doc/articles/springmvcaccessdata.html

以下是我的代码我不明白我的错误..我给你所有代码,希望你能找到我的错误。我想我的错误是在我的crontroller中。 非常感谢你的帮助!

首先是我的java类

public class Sponsors {

    private String image;
    private String href;
    private String name;
    private String id;

    public Sponsors(String image,String href,String name,String id) {
        this.image = image;
        this.href = href;
        this.name = name;   
        this.id = id;
    }

    public String getImage() {
        return image;
    }

    public void setImage(String image) {
        this.image = image;
    }

    public String getHref() {
        return href;
    }

    public void setHref(String href) {
        this.href = href;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

这只是一个用一些赞助商来填充arraylist的测试

public class GetSponsorsList {

    private List<Sponsors> listSponsors = new ArrayList<Sponsors>();

    public GetSponsorsList() {
        listSponsors.add(new Sponsors("@{/images/logo-***.jpg}","@{/recherche?res=***}","****","****"));
        listSponsors.add(new Sponsors("@{/images/logo-***.jpg}","@{/recherche}","****","****"));
        listSponsors.add(new Sponsors("@{/images/logo-***.jpg}","@{/recherche}","*****","*****"));
        listSponsors.add(new Sponsors("@{/images/logo-***.jpg}","@{/recherche}","*****","*****"));
        listSponsors.add(new Sponsors("@{/images/logo-***.jpg}","@{/recherche}","*****","*****"));
    }

    public List<Sponsors> getListSponsors() {
        return listSponsors;
    }

    public void setListSponsors(List<Sponsors> listSponsors) {
        this.listSponsors = listSponsors;
    }
}

这是我的控制器

@Controller
public class HomeSponsors extends AbstractController {

    @ModelAttribute("sponsorsList")
    public List<Sponsors> sponsorsList() {
        return new GetSponsorsList().getListSponsors();
    }
}

最后这是我的HTML

<!DOCTYPE html>
<html xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
      xmlns:th="http://www.thymeleaf.org">

<head>
  <meta charset="UTF-8"/>
</head>

<body>
<div class="sect sect--guide" th:fragment="sponsors-panel_2">
  <div class="container">
    <div class="row">
      <div class="col-md-3 col-sm-12 ">
        <p class="t2">...</p>
      </div>
      <div class="col-md-9 col-sm-12 ">
        <div class=" col-sm-4 col-xs-12  col-border" th:each="sponsor : ${sponsorsList}">
          <ul class="list list--guide">
            <li>
              <a th:href="${sponsor.href}" target="_blank" id="${sponsor.id}"><h3>...</h3>
                <img th:src="${sponsor.image}" style="width: 100%" alt="" id="LBP"/>
                <span>
                  <img class="arrow arrow-out" th:src="@{/images/i-arrow.svg}" alt=""/>
                  <img class="arrow arrow-over" th:src="@{/images/i-arrow-white.svg}" alt=""/>
                </span>
              </a>
            </li>
          </ul>
        </div>
      </div>
    </div>
  </div>
</div>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

Edwyn,

我的意思是这样的:

@Controller
@ControllerAdvice
public class HomeSponsors extends AbstractController {

    @RequestMapping("/sponsorsPage")
    public String sponsorsPage(Model model) {
        return "sponsorsPage";
    }

    @ModelAttribute("sponsorsList")
    public List<Sponsors> sponsorsList() {
        return new GetSponsorsList().getListSponsors();
    }

}