Array de Java para Javascript

Bom dia pessoal,
Estou com o seguinte cenário:

Estou desenvolvendo uma aplicação java/web com JSP onde minha jsp (listar usuário) recebe uma lista de usuários por meio de um array. Com este array eu consigo mostrar todos os usuários cadastrados através de uma tabelas básica.

Como busco os dados:

<% ArrayList<Usuario> lista = (ArrayList<Usuario>)request.getSession().getAttribute("listaUsuarios"); if(lista == null) lista = new ArrayList<Usuario>(); %>

Teste que fiz para mostrar os usuários por meio do JSP e funcionou perfeitamente:

<table border="1" title="Lista de Usuarios"> <tr> <td align=center> <span style="font-size: large; font-weight: bold; color: #CAE1FF">ID</span> </td> <td align=center> <span style="font-size: large; font-weight: bold; color:#CAE1FF">USUARIO</span> </td> <td align=center> <span style="font-size: large; font-weight: bold; color: #CAE1FF">CPF</span> </td> <td align=center> <span style="font-size: large; font-weight: bold; color: #CAE1FF">PERFIL</span> </td> </tr> <% for(Usuario u : lista){ %> <tr> <td align=center> <span style="font-size: large; font-weight: bold; color: #CAE1FF"><%= u.getId()%></span> </td> <td align=center> <span style="font-size: large; font-weight: bold; color: #CAE1FF"><%= u.getNome()%></span> </td> <td align=center> <span style="font-size: large; font-weight: bold; color: #CAE1FF"><%= u.getCpf() %></span> </td> <td align=center> <span style="font-size: large; font-weight: bold; color: #CAE1FF"><%= u.getPerfil() %></span> </td> </tr> <%} %
Para melhorar o sistema coloquei uma jqxgrid para receber a lista de usuários. Esta grid recebe dados de uma array:

<script type="text/javascript">
        $(document).ready(function () {
            var theme = getTheme();

            var source =
            {
                localdata: [
                    ["Alfreds Futterkiste", "Maria Anders", "Sales Representative", "Obere Str. 57", "Berlin", "Germany"],
                    ["Ana Trujillo Emparedados y helados", "Ana Trujillo", "Owner", "Avda. de la Constitucin 2222", "Mxico D.F.", "Mexico"],
                    ["Antonio Moreno Taquera", "Antonio Moreno", "Owner", "Mataderos 2312", "Mxico D.F.", "Mexico"],
                    ["Around the Horn", "Thomas Hardy", "Sales Representative", "120 Hanover Sq.", "London", "UK"],
                    ["Berglunds snabbkp", "Christina Berglund", "Order Administrator", "Berguvsvgen 8", "Lule", "Sweden"],
                    ["Blauer See Delikatessen", "Hanna Moos", "Sales Representative", "Forsterstr. 57", "Mannheim", "Germany"],
                    ["Blondesddsl pre et fils", "Frdrique Citeaux", "Marketing Manager", "24, place Klber", "Strasbourg", "France"],
                    ["Blido Comidas preparadas", "Martn Sommer", "Owner", "C\/ Araquil, 67", "Madrid", "Spain"],
                    ["Bon app'", "Laurence Lebihan", "Owner", "12, rue des Bouchers", "Marseille", "France"],
                    ["Bottom-Dollar Markets", "Elizabeth Lincoln", "Accounting Manager", "23 Tsawassen Blvd.", "Tsawassen", "Canada"],
                    ["B's Beverages", "Victoria Ashworth", "Sales Representative", "Fauntleroy Circus", "London", "UK"],
                    ["Cactus Comidas para llevar", "Patricio Simpson", "Sales Agent", "Cerrito 333", "Buenos Aires", "Argentina"],
                    ["Centro comercial Moctezuma", "Francisco Chang", "Marketing Manager", "Sierras de Granada 9993", "Mxico D.F.", "Mexico"],
                    ["Chop-suey Chinese", "Yang Wang", "Owner", "Hauptstr. 29", "Bern", "Switzerland"],
                    ["Comrcio Mineiro", "Pedro Afonso", "Sales Associate", "Av. dos Lusadas, 23", "Sao Paulo", "Brazil"],
                    ["Consolidated Holdings", "Elizabeth Brown", "Sales Representative", "Berkeley Gardens 12 Brewery", "London", "UK"],
                    ["Drachenblut Delikatessen", "Sven Ottlieb", "Order Administrator", "Walserweg 21", "Aachen", "Germany"],
                    ["Du monde entier", "Janine Labrune", "Owner", "67, rue des Cinquante Otages", "Nantes", "France"],
                    ["Eastern Connection", "Ann Devon", "Sales Agent", "35 King George", "London", "UK"],
                    ["Ernst Handel", "Roland Mendel", "Sales Manager", "Kirchgasse 6", "Graz", "Austria"]
                ],
                datatype: "array"
            };

            var dataAdapter = new $.jqx.dataAdapter(source);
       
            $("#jqxgrid").jqxGrid(
            {
                width: 670,
                source: dataAdapter,
                theme: theme,
                columnsresize: true,
                columns: [
                  { text: 'Company Name', width: 150 },
                  { text: 'Contact Name', width: 130 },
                  { text: 'Contact Title', width: 100 },
                  { text: 'Address', width: 100 },
                  { text: 'City', width: 100},
                  { text: 'Country', width: 90 }
                ]
            });
        });

Agora vamos ao problema: Existe alguma forma de, por dentro do jsp passar para o Javascript o array (lista) que foi gerado em Java?

Voce tem duas opçoes.

  1. Fazer o mesmo que em http://www.guj.com.br/java/277455-curl-com-javascript#1460801 onde o SPAN contém uma string que represente o teu json. Com isso vc poderia fazer…
var source = JSON.parse($('#mySourceSpan').html());
  1. Criar um servlet que retorne o teu json…
var dataAdapter = new $.jqx.dataAdapter('http://localhost:8080/myApp/users/get');  

[]s,
Thiago

Teria uma forma, só que é bem POG, não sei se existem outro jeito mas enfim…
oque vc poderia fazer é imprimir esse array(java) dentro do seu script, uma vez quando precisei eu fiz isso, funcionou, mas fica meio estranho…
mas pode te ajudar.