将数组从Java(JSP)传递到jQuery [英] Passing an array from Java (JSP) to jQuery
问题描述
我知道如何在用Java编写的程序中使用$ .each 像这样
I know how to use $.each in my program which is written in Java like this
$.each( ['a','b','c'], function(i, l){
alert( "Index #" + i + ": " + l );
});
如果我想将java程序中的arraylist或字符串数组传递给JQuery的话,任何人都知道怎么做?
what about If I want to pass arraylist or string array from my java program to the JQuery any one knows how??
我写了
String[] arr1=new String[2];
arr1[1]="whatever";
arr1[2]="ksj";
$.each( arr1, function(i, l){
alert( "Index #" + i + ": " + l );
}
但这不起作用吗?
更新::我有一个jsp页面,其中包含Java的一部分,如下所示:
Update:: I have jsp page which contains part of java as follows:
<%@page import="java.lang.reflect.Array"%>
<%@page import="java.util.ArrayList"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
<style>
.highlight { background-color: yellow }
</style>
</head>
<body>
<h1>Hello World!</h1>
<% ArrayList wordslist = new ArrayList();
wordslist.add("Hello");
wordslist.add("again");
String[] arr1=new String[wordslist.size()];
for (int i=0; i<wordslist.size();i++)
{
arr1[i]=wordslist.get(i).toString();
}%>
<a href="http://jquery.com/">jQuery</a>
<p> Hello again and again</p>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<script src="jquery.highlight-3.js"></script>
<script>
$(document).ready(function(){
alert( arr1 );
var arr=new Array();
arr.
$.each( arr, function(i, l){
alert( "Index #" + i + ": " + l );
}
)
});
</script>
</body>
</html>
问题在于,单词列表arry是动态的,我想将其传递给JQuery?我如何不使用嵌入式嵌入式Java来做到这一点,请帮助有没有一种方法可以将JQuery中的wordslist传递给arr数组!!! 这真的让我感到失望!!
The problem is wordslist arry is dynamic and I want to pass it to the JQuery ?? How can I do that without using inline embedded java please help Is there a way to pass wordslist to arr array in the Jquery!!! This really make me disappointed!!
推荐答案
为Java使用 JSON库.然后将您的ArrayList
序列化为JSON:
Use a JSON library for Java. Then serialize your ArrayList
to JSON:
ArrayList wordslist = new ArrayList();
wordslist.add("Hello");
wordslist.add("again");
String json = (new JSONArray(wordslist)).toString();
在您的JavaScript代码的适当位置回显JSON文本.例如
Echo the JSON text at the appropriate place in your JavaScript code. E.g.
$(document).ready(function(){
var arr = <%= json %>;
$.each( arr, function(i, l){
alert( "Index #" + i + ": " + l );
});
});
我实际上不确定这是否是打印变量的正确JSP语法.如果不是,请更正.
I'm actually not sure whether this is the right JSP syntax for printing a variable. Please correct if not.
这篇关于将数组从Java(JSP)传递到jQuery的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!