2017-09-28 35 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>