Мне нужно заполнить коды (тип List) атрибута модели paymentForm из массива javascript и отправить их в контроллер. У меня есть список данных, и у каждой информации есть два редактируемых ввода. Я получил значения каждой строки ввода, используя JQuery и передать их, чтобы сформировать атрибут скрытого пути. Кажется, я должен преобразовать массив javascript в список java, и я не достаточно ясен, чтобы найти решение. После запуска приведенного ниже кода, коды становятся нулевыми.
PaymentController. java
@RequestMapping(value = "/choose", method = RequestMethod.POST)
public String choose(@ModelAttribute final PaymentForm paymentForm,final Model model)
{
//i can get other property values of PaymentForm but can not get values of List type property
???
}
PaymentForm.tag
<form:form id="selectPaymentForm" modelAttribute="paymentForm" action="${request.contextPath}/payment/choose" method="post">
<form:hidden path="codes[]" id="codes" value=""/>
<formElement:formInputBox idKey="someValue" labelKey="someValue" path="someValue" inputCSS="text" />
<button id="choosePayment_continue_button" type="submit" class="btn btn-primary btn-block ">
</button>
</form:form>
оплата. js
$(document).on("click","#choosePayment_continue_button",function(e){
e.preventDefault();
var codes=[];
$('#codeValues input').each(function () {
codes.push({
"uniqueIdentifier": $(this).find("#uniqueIdentifier").val(),
"first": $(this).find("#firstValue").val(),
"second": $(this).find("#secondValue").val()
});
});
$("#selectPaymentForm #codes").val(codes);
$('#selectPaymentForm').submit();
})
},
listProducts.tag
<c:forEach items="${items.entries}" var="entry" varStatus="loop">
<div class="form-group" id="codeValues">
<input type="hidden" id="uniqueIdentifier" value="${entry.product.id}">
<input type="text" id="firstValue" placeholder="First"/>
<input type="text" id="secondValue" placeholder="Second"/>
</div>
<div>
</c:forEach>
PaymentForm. java
public class PaymentTypeForm
{
private List<Code> codes;
//get and set
}
Код. java
Code.java
{
private String uniqueIdentifier;
private String first;
private String second;
//get and set
}