Java Spring MVC中JSON动态列表
我有一个新的Person表单,其中有一个对象表,如下所示:Java Spring MVC中JSON动态列表,java,jquery,ajax,json,spring,Java,Jquery,Ajax,Json,Spring,我有一个新的Person表单,其中有一个对象表,如下所示: <table class="table table-striped table-condensed flip-content"> <thead class="flip-content"> <tr> <th width="20%"> Tipo encabezado </th>
<table class="table table-striped table-condensed flip-content">
<thead class="flip-content">
<tr>
<th width="20%">
Tipo encabezado
</th>
<th width="20%">
Valor
</th>
<th width="10%"></th>
</tr>
</thead>
<tbody>
<tr th:each="ht : ${headersType}">
<td th:text="${ht.headerType.name}"></td>
<td th:text="${ht.value}"></td>
<td class="operations">
<a class="delete" href="/profile/delete" th:href="@{/profile/delete/__${p.id}__}">
Borrar
</a>
</td>
</tr>
</tbody>
</table>
这是控制器:
@RequestMapping(value = "person/addHeader.json", method = RequestMethod.POST, headers ="Accept=application/json")
public String addHeader(@RequestParam(value = "idHeader") String idHeader,
@RequestParam(value = "valueHeader") String valueHeader, @ModelAttribute("person") PersonForm personForm,
BindingResult bindingResult, Model model) {
EntityHeader eh = new EntityHeader();
eh.setHeaderType((HeaderType) basicServ.findById(Long.parseLong(idHeader), HeaderType.class));
eh.setValue(valueHeader);
personForm.getHeadersType().add(eh);
model.addAttribute("person", personForm);
return "person/new";
}
我正在尝试从模型中检索PersonForm并用新值更新列表。但是当我试图保存它时,PersonForm中的headersType是空的,当然表中不会显示添加的标题
编辑:我发布了一个临时解决方案,但我更喜欢使用JSON我找到了一个临时解决方案。我用JQuery编写所有代码,并用隐藏字段追加行,我更喜欢JSON解决方案,但目前 addHeader
function addHeader(){
var count = 0;
var headerType = $('#idHeaderType').val();
var headerTypeValue = $("#idHeaderType option:selected").text();
var valueHeader = $('#valueHeaderType').val();
var nuevoCount = count +1;
$('#cuerpoTabla').append("<tr id='encabezado_"+nuevoCount+"'><td>"+headerTypeValue+"<input type='hidden' name='headersType["+count+"].headerType.id' id=headersType["+count+"].headerType.id' value='"+headerType+"'/></td><td>"+valueHeader+"<input type='hidden' name='headersType["+count+"].value' id=headersType["+count+"].value' value='"+valueHeader+"'/></td></tr>");
}
函数addHeader(){
var计数=0;
var headerType=$('#idHeaderType').val();
var headerTypeValue=$(“#idHeaderType选项:选中”).text();
var valueHeader=$('#valueHeaderType').val();
var nuevoCount=计数+1;
$('#cuerpotablea')。追加(“+headerTypeValue+”);
}
在personForm中,我为一个简单数组EntityHeader[]
仍在等待另一个答案我找到了一个临时解决方案。我用JQuery编写所有代码,并用隐藏字段追加行,我更喜欢JSON解决方案,但目前 addHeader
function addHeader(){
var count = 0;
var headerType = $('#idHeaderType').val();
var headerTypeValue = $("#idHeaderType option:selected").text();
var valueHeader = $('#valueHeaderType').val();
var nuevoCount = count +1;
$('#cuerpoTabla').append("<tr id='encabezado_"+nuevoCount+"'><td>"+headerTypeValue+"<input type='hidden' name='headersType["+count+"].headerType.id' id=headersType["+count+"].headerType.id' value='"+headerType+"'/></td><td>"+valueHeader+"<input type='hidden' name='headersType["+count+"].value' id=headersType["+count+"].value' value='"+valueHeader+"'/></td></tr>");
}
函数addHeader(){
var计数=0;
var headerType=$('#idHeaderType').val();
var headerTypeValue=$(“#idHeaderType选项:选中”).text();
var valueHeader=$('#valueHeaderType').val();
var nuevoCount=计数+1;
$('#cuerpotablea')。追加(“+headerTypeValue+”);
}
在personForm中,我为一个简单数组EntityHeader[]
仍在等待其他答案
function addHeader(){
var count = 0;
var headerType = $('#idHeaderType').val();
var headerTypeValue = $("#idHeaderType option:selected").text();
var valueHeader = $('#valueHeaderType').val();
var nuevoCount = count +1;
$('#cuerpoTabla').append("<tr id='encabezado_"+nuevoCount+"'><td>"+headerTypeValue+"<input type='hidden' name='headersType["+count+"].headerType.id' id=headersType["+count+"].headerType.id' value='"+headerType+"'/></td><td>"+valueHeader+"<input type='hidden' name='headersType["+count+"].value' id=headersType["+count+"].value' value='"+valueHeader+"'/></td></tr>");
}