一尘不染

将数组从Java(JSP)传递到jQuery

jsp

我知道如何在用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数组!这真的让我感到失望!


阅读 221

收藏
2020-06-10

共1个答案

一尘不染

对Java使用JSON库。然后将您的序列化为ArrayListJSON:

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语法。否则请更正。

2020-06-10