2017-09-28 36 views
1

我需要sone帮助发送列表产品作为参数到我的控制器。发送每个列表到控制器(百里香弹簧启动)

<div class="panel-body"> 
    <div th:each="produto : ${produtos}" class="form-group" id="produtos"> 
     <label th:text="${produto.nome}" class="col-sm-2 control-label"> 
     </label> 
     <div class="col-sm-1"> 
      <input type="text" class="form-control js-number" id="quantPedido" 
      th:field="*{produto.quantPedido}"/> 
     </div> 
    </div> 
</div> 

我的控制器

@RequestMapping(method = RequestMethod.POST) 
public String salvar(@Validated Pedido pedido, List<Produto> produtos, Errors errors, RedirectAttributes attributes) { 


} 

感谢这么多!

+0

的可能的复制(https://stackoverflow.com/questions/17669212/send-datas-from-html-to-controller-in-thymeleaf) – juanlumn

+0

嗨,不幸的是你不工作。是不同的。 –

+0

嗨,你需要扭曲你的产品列表内的某些bean,然后发回给控制器该产品列表的bean – cralfaro

回答

0

您需要将您的产品列表转换为某个bean,然后将该bean发送到html并填充它。例如:

豆:

public class Pedido{ 
    @Getter @Setter 
    private List<Product> products = new ArrayList(); 
    //extra attributes 
} 

在你的控制器:

ModelAndView mav = new ModelAndView("yourView"); 
Pedido pedido = new Pedido(); 
mav.addObject("pedido", pedido); 

在你的HTML:?从HTML发送DATAS在Thymeleaf到控制器]

<form th:object="${pedido}" th:action="@{/savePedido}" method="POST"> 
    //... 
    <div th:each="produto : ${produtos}" class="form-group" id="produtos"> 
     <label th:text="${produto.nome}" class="col-sm-2 control-label"> 
     </label> 
     <div class="col-sm-1"> 
      <input class="form-control js-number" id="quantPedido" th:field="*{products[__${produtoStat.index}__].quantPedido}"/> 
     </div> 
    </div> 
    //...         
</form>