我知道如何在用Java这样编写的程序中使用$ .each
$.each( ['a','b','c'], function(i, l){ alert( "Index #" + i + ": " + l ); });
如果我想将java程序中的arraylist或字符串数组传递给JQuery怎么办?
我写
String[] arr1=new String[2]; arr1[1]="whatever"; arr1[2]="ksj"; $.each( arr1, function(i, l){ alert( "Index #" + i + ": " + l ); }
但这行不通吗?
更新::我有jsp页面,其中包含Java的一部分,如下所示:
<%@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>
问题是wordlist arry是动态的,我想将其传递给JQuery?我如何不使用嵌入式嵌入式Java做到这一点,请帮助有没有一种方法可以将wordlist传递给Jquery中的arr数组!这真的让我感到失望!
对Java使用JSON库。然后将您的序列化为ArrayListJSON:
ArrayList
ArrayList wordslist = new ArrayList(); wordslist.add("Hello"); wordslist.add("again"); String json = (new JSONArray(wordslist)).toString();
在您的JavaScript代码中的适当位置回显JSON文本。例如
$(document).ready(function(){ var arr = <%= json %>; $.each( arr, function(i, l){ alert( "Index #" + i + ": " + l ); }); });
我实际上不确定这是否是打印变量的正确JSP语法。否则请更正。