Originariamente inviato da Mitele
Ho provato il seguente codice , ma non funziona

codice:
       <% String parole[]={"Paola","Massimo","Carmela"}; %>
       
    <script type="text/javascript"> azione('nomediv',<%=true%>,<%=parole%>); </script>
No, infatti non funziona. Dovresti capire il concetto in generale. Non puoi semplicemente mandare in output l'array con una expression <%=parole%> perché verrebbe mandato in output il risultato del toString() sull'array, che è un qualcosa del tipo "[Ljava.lang.String;@3e25a5", quindi totalmente insignificante per quello che vuoi fare.

Stai mandando in output una pagina HTML e hai la facoltà con JSP di generare "dinamicamente" parti della pagina. Quindi se vuoi fare qualcosa di "dinamico" anche nella parte Javascript, allora devi mandare in output un pezzo di testo che rappresenti del codice Javascript con sintassi corretta.

Se il codice Java è:

String[] parole = { "Paola", "Massimo", "Carmela" };

potresti far generare un testo del genere che è la sintassi corretta Javascript per un array literal:

codice:
var parole = [ "Paola", "Massimo", "Carmela" ];
Il punto è che gli apici " devi generarli tu, idem le virgole in mezzo alle stringhe.

Con un blocco intero di scriptlet si potrebbe fare (giusto per darti una idea):

codice:
<%
String[] parole = { "Paola", "Massimo", "Carmela" };

out.print("var parole = [ ");

for (int i = 0; i < parole.length; i++) {
    if (i > 0) {
        out.print(", ");
    }
    out.print("\"");
    out.print(parole[ i]);
    out.print("\"");
}

out.print(" ];");
%>
Vedi i "pezzetti" di sintassi Javascript che stai emettendo in output? È appunto per far sì che alla fine il testo completo che arriva al browser sia un codice Javascript nella giusta sintassi.

NOTA: c'è una questione più fine ovvero l'escape dei caratteri speciali. Nell'array sopra ci sono 3 nomi senza caratteri speciali. Ma se in una stringa c'è un apice doppio o un backslash o altro di speciale, devi mandare in output la sequenza che in Javascript fa l'escape.
Questo è a tuo carico. Puoi farlo con del tuo codice ma probabilmente se cerchi in rete ci sono già librerie Java di utility che generano una stringa che contiene la rappresentazione letterale in Javascript di una stringa.

Ora ti è più chiara la questione in generale?