我对编程很新,所以请耐心等待。
我正在尝试使用javascript从表单(在JSP中)获取值,并对servlet执行post请求。我的表单有6个值,我使用
在javascript中获取值var value 1 = document.getElementByID(" value of a element in the form).value
var value 2 = document.getElementByID(" value of a element in the form).value
etc
我的问题是我正在使用javascript Ajax调用的POST请求。如何将所有这些不同的值组合成一个单独的元素,然后我可以使用servlet中的POJO'setter方法读取并分配给POJO。我不能使用JSON,因为我的项目不能使用像Jersey这样的外部库。任何指向这一点将不胜感激。
答案 0 :(得分:0)
有更优雅的方法可以做到这一点,但这是最基本的方法。您需要将javascript变量组合到标准的帖子体中。
var postData = 'field1=' + value1;
postData += '&field2=' + value2;
postData += '&field3=' + value3;
/* You're concatenating the field names with equals signs
* and the corresponding values, with each key-value pair separated by an ampersand.
*/
如果您正在使用原始XMLHttpRequest工具,则此变量将是send
方法的参数。如果使用jQuery,这将是您的data
元素。
在servlet中,您从容器提供的HttpServletRequest对象中获取值。
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
MyObject pojo = new MyObject();
pojo.setField1(request.getParameter("field1"));
pojo.setField2(request.getParameter("field2"));
pojo.setField3(request.getParameter("field3"));
/* Now your object contains the data from the ajax post.
* This assumes that all the fields of your Java class are Strings.
* If they aren't, you'll need to convert what you pass to the setter.
*/
}