我正在尝试使用div迭代List,但它只重复一次。我认为这是一个html(thyemeleaf)代码错误,但我找不到它。我有另一个迭代工作,但不是div的,它使用tr和td。
也许它不适用于div?
HTML代码
<div id="portfoliolist" th:each="produto : ${estoque}">
<div class="portfolio usado escambolivre" data-cat="usado escambolivre">
<div class="portfolio-wrapper">
<a rel="group" title="" th:href="'/produto?id='+${produto.id}">
<img th:src="'images/'+${produto.id}+'.jpg'" alt="" class="img-responsive caixa-img-produto" />
</a>
<div class="label">
<div class="label-text">
<span class="text-category" th:text="${produto.nome}"></span>
</div>
<div class="label-bg"></div>
</div>
</div>
</div>
</div>
控制器代码
@Autowired
Estoque produtos;
@RequestMapping("/produtos")
public String buscar(Model model){
model.addAttribute("estoque", produtos.getProdutos());
System.out.println(produtos.getProdutos());
return "produtos";
}
服务代码
@Service
public class Estoque {
private static List<Produto> produtos = new ArrayList<>();
static {
produtos.add(new Produto(new BigInteger("1"), "Nike Shox", new BigDecimal("500.00"), "Modelo v3"));
produtos.add(new Produto(new BigInteger("2"), "Conta de LoL", new BigDecimal("300.00"), "Platina 1"));
produtos.add(new Produto(new BigInteger("3"), "Nintendo 3DS", new BigDecimal("660.00"), "Acompanha 4 jogos originais"));
produtos.add(new Produto(new BigInteger("4"), "AWP Asiimov", new BigDecimal("130.00"), "Pouco usada (minimal wear)"));
}
public void addProduto(BigInteger id, String nome, BigDecimal preco, String descricao){
produtos.add(new Produto(id, nome, preco, descricao));
}
public List<Produto> getProdutos(){
return Estoque.produtos;
}
}
答案 0 :(得分:0)
谢谢你们,我找到了答案。
foreach在错误的div中,应该在它下面的那个。
此代码现在有效:
<div id="portfoliolist" >
<div class="portfolio usado escambolivre" data-cat="usado escambolivre" th:each="produto : ${estoque}">
<div class="portfolio-wrapper">
<a rel="group" title="" th:href="'/produto?id='+${produto.id}">
<img th:src="'images/'+${produto.id}+'.jpg'" alt="" class="img-responsive caixa-img-produto" />
</a>
<div class="label">
<div class="label-text">
<span class="text-category" th:text="${produto.nome}"></span>
</div>
<div class="label-bg"></div>
</div>
</div>
</div>
</div>