繁体   English   中英

用Thymeleaf + SpringMVC迭代div

[英]Iterating a div with Thymeleaf + SpringMVC

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

这就是结果

应该是什么

谢谢大家,我找到了答案。

foreach位于错误的div中,应该位于其下面的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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM