我想将数组作为请求参数传递给servlet,如何发送
$.ajax({
type: "POST",
url: "${pageContext.request.contextPath}/MyServlet",
data: params,
success: function(data){
closeMe();
},
error: function(jqXHR, textStatus, errorThrown) {
alert(errorThrown)
}
}); // end of $.ajax()
$("#savebtn").click(function(e) {
var username = $("#username").val();
var password = $("#password").val();
var checkIP = $("#chkIP").is(":checked");
var params = {
action : 'add',
username : username,
password : password,
checkIP : checkIP,
};
if(checkIP){
var ipList = $("#ipaddress").val();
var ip = ipList.split(',');
params['ipList'] = ip
}
});
HTML
<tr>
<td>Check IP</td>
<td><input type="checkbox" name="chkIP" id="chkIP"></td>
</tr>
<tr>
<td>IP List</td>
<td><textarea id="ipaddress"></textarea></td>
</tr>
例如,id用户在textarea中输入122.112.122.45,122.112.122.46,....N
然后如何在servlet中检索它并存储在db中?
答案 0 :(得分:0)
您可以在客户端将其拆分以验证每个IP是否有效。
但是,由于通过HTTP发送到Servlet的所有内容都是“扁平的”,即从Object
到String
表示,因此以字符串格式发送IP会更简单,例如: 122.112.122.45,122.112.122.46,....N
结束并将其拆分为Java Servlet。
public String[] splitIps(final String ipsRawString){
return ipsRawString.split(",");
}