我正在尝试使用javascript函数创建数组到我的java类。
在我的java类中,这个数组是一个空值。
这是我的jsp代码,
<input type="button" value="Submit" onClick="submit()" />
<script>
var a = "I am A"
var b = "I am B"
var c = "I am C"
var arr = [a,b,c];
function submit() {
$.ajax({
method : "POST",
url : 'myServlet',
dataType : "text/html",
data : {sts:arr}
success : function(resp) {
},
error : function(data) {
},
});
}
</script>
<!-- </form> -->
</body>
</html>
我的java类访问数组,
protected void doPost(HttpServletRequest request, HttpServletResponse response) {
String[] n=request.getParameterValues("sts");
System.out.println(n);
}
还尝试了以下
protected void doPost(HttpServletRequest request, HttpServletResponse response) {
String[] n=request.getParameterValues("sts[]");
System.out.println(n);
}
两者都只打印null而不是数组。
有人能说出错的地方吗?
提前致谢。
答案 0 :(得分:0)
当您在http请求中发送arr为data:{arr:arr}
签入开发者控制台,发送为
?arr%5B%5D=a&arr%5B%5D=b&arr%5B%5D=c
所以试试这个,
将arr作为字符串发送
data:{arr:arr.toString()}
然后在你的java代码中获取这样的数组,
String str = request.getParameter("arr");
String strA[] = str.split(",");
它正在运作......