【发布时间】:2017-07-29 16:07:14
【问题描述】:
我正在尝试从我的表单中获取 JSON 对象。
请在下面找到 JSON:
[{"id":["4"]},{"Flap":["NA"]}]
所以我使用隐藏属性将值保存到我的 ModelForm 中的 JsonObject(来自 Gson 库)中。当我从控制器调用此对象时,我无法通过键获取值。
在jsp中:
<form:form modelAttribute="myForm" action="/action">
<input type="hidden" name="jsonObject" id="jsonObj" value=""/>
<input type="submit" value="Submit" onclick="function getjson()"/>
</form:form>
在 js 中,我收集所有选中的复选框,并在提交值时以 Json 的形式保存信息。
在 JS 中:
function getjson(){
var json = [];
var checkedBoxes = $('input[name="checkedList"]:checked').map(function() {
return this.value;
}).get();
var checkedBoxes1 = $('input[name="checkedList1"]:checked').map(function() {
return this.value;
}).get();
json.push({"id":checkedBoxes});
json.push({"Flap":checkedBoxes1});
document.getElementById("jsonObj").value = json;
}
在 MyForm.Java 中:
private JsonObject jsonObjct;
//getters and setters for jsonObjct
我正在以 json 的形式收集检查值的信息并将其保存在 MyForm 中的“jsonObjct”中,并尝试使用以下方法在我的控制器中检索值:
myForm.getJsonObjct();
谁能帮我解决这个问题。在此先感谢。
【问题讨论】:
-
分享你的代码?
-
嗨@Coder 我已经添加了代码。抱歉之前没有说清楚。
-
JSON是如何发送到java对象
MyForm的?您发送的格式是什么? -
@Coder 它将采用这种格式。 [{"id":["4"]},{"Flap":["NA"]}]。我不知道它是否保存在 jsonObjct 但我无法使用控制器中的值。
-
格式我的意思是它是如何传递给java对象的?您的代码没有显示将数据设置为对象的任何方面
标签: java json spring-mvc gson