将rowdata标记从javascript传递到servlet

时间:2012-05-29 04:50:04

标签: javascript jquery ajax servlets

我有一个jsp文件,在按钮上点击一串以html表格式显示的行。

行也有复选框。当我单击一个复选框并点击另一个按钮时,我能够检索所选的行标签并将它们推入一个数组。

如何将此数组传递给servlet \ scriptlet。

数组包含如下标签:'< td > hi < /td> <td>ho</td>','< td > hi < /td> <td>ho< /td>',....

我包含了json2.js并尝试了stringify但是当我使用request.getparametervalues()

时,servlet总是返回null

我也没有提交表单,因此排除了提交表单部分的编码。

非常感谢任何和所有建议。

js中的代码:

$.ajax({
    type: 'POST',
    url: 'book.jsp',
    data: JSON.stringify({ nameParameter: colheader }),
    dataType: 'json',
    contentType: "application/json; charset=utf-8",
    success:function(data){alert(data);},
    error:function(){alert('error');}
});

scriptlet中的代码book.jsp

String[] arrayData=request.getParameterValues("nameParameter");
System.out.println("########nameParameter"+arrayData);

1 个答案:

答案 0 :(得分:0)

我找到了办法。

我使用主键的值为每个复选框添加一个rowid。

在选中的复选框上,我使用下面的

将rowid发布到scriptlet
$.post('target.jsp', { id: selectedrows }); 

selectedrows是一组选定的rowid。

我将获得的结果集设置在jsp中的会话中。

我从scriptlet(target.jsp)中的会话中检索结果集,并根据我选择的rowid进行过滤。这样我就拥有了所有的值,无需传递整个行标签。

或者你可以用所选的rowid再次查询数据库,我选择不这样做,因为我的结果集不能容纳超过100行。