使用Thymeleaf + SpringMVC迭代div

时间:2016-06-23 19:08:10

标签: java loops spring-mvc thymeleaf

我正在尝试使用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;
    }
}

And this is the result

What it should be

1 个答案:

答案 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>