使用 JSON 将对象数组从 jsp 传递到 java servlet
以下代码是我想要弄清楚的。希望你们能帮助我!
jsp :
<input name="test" type="text" /><br/>
<input name="test" type="text" /><br/>
<input name="test" type="text" /><br/>
<input id="query" type="button" value="query" onClick="doajax()"/>
js :
function doajax(){
var dataSet = $("input[type='text'][name='test']").serializeArray();
$.ajax({
type: "post",
url: "<%=request.getContextPath()%>/testJson",
dataType: "json",
data:dataSet,
error:function(){
alert("error occured!!!");
},
success:function(data){
alert("success");
}
});
}
* [更新] *
我正在使用 Struts 2.0。 我通常通过“ get and set ”而不是request.getParameters()
来获取参数。
如何在 Java Servlet 中获取 dataSet
?
感谢您的阅读!
the following codes are what i'm trying to figure out.Hope you guys can help me !
jsp :
<input name="test" type="text" /><br/>
<input name="test" type="text" /><br/>
<input name="test" type="text" /><br/>
<input id="query" type="button" value="query" onClick="doajax()"/>
js :
function doajax(){
var dataSet = $("input[type='text'][name='test']").serializeArray();
$.ajax({
type: "post",
url: "<%=request.getContextPath()%>/testJson",
dataType: "json",
data:dataSet,
error:function(){
alert("error occured!!!");
},
success:function(data){
alert("success");
}
});
}
* [Update] *
I'm using Struts 2.0.
I usually get the parameters by " get and set " instead of request.getParameters()
.
How can i get the dataSet
in Java Servlet ?
Thank you for reading !
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
你可以尝试这个例子来获得正确的结果:-
首先通过jsp中的js文件中的getUserDetails()方法将姓名和年龄传递给onclick事件,然后
在servlet中它应该如下所示:-
you can try this example for getting it right :-
first pass name and age to onclick event through getUserDetails() method in js file from jsp then
and in servlet it should be like below :-
dataSet
是常规的POST
参数,因此请按常规方式获取它。然后使用 JSON 库,例如 Jackson 或 gson 将 JSON 转换为对象。但是,您需要将结构定义为类。因此,如果您有一个完全映射到您发送的 json 的
DataSet
类,您可以用 (Jackson) 填充它:然后,如果您想发送一些 JSON ase 响应,请转换响应数据并将其写入
response.getWriter()
,或者如果库允许,则将输出直接写入写入器。例如 Jackson 有
writeValue(writer, object)
。所以在 servlet 中:dataSet
is a regularPOST
parameter, so get it the regular way.Then use a JSON library like Jackson or gson to transform the JSON to an object. You'll need to define the structure as a class, however. So, if you have a
DataSet
class that maps exactly to the json you sent, you can fill it with (Jackson):Then if you want to send some JSON ase response, either convert the response data and write it to the
response.getWriter()
, or if the library allows this, write the output directly to the writer.Jackson for example has
writeValue(writer, object)
. So in a servlet:使用 request.getParameterMap() 并显示所有请求参数。您可以在那里找到您想要的参数。
Use request.getParameterMap() and display all the request parameters. You may find your desired parameter there.