2012-12-31 20 views
9

Poprzednie pytania na ten temat wyglądałem na SO, ale mój problem nie został jeszcze rozwiązany.Przekazywanie tablicy javascript do serwletu

Przekazuję tablicę z javascript do serwletu.

kod JavaScript:

var action = new Array(); 
function getProtAcionValues(rowNo,columnCount) 
{ 
    for(var j=0;j<columnCount;j++) 
    { 
     action[j] = document.getElementById('textActions'+rowNo+''+j).value; 
     alert(action[j]); 
    } 
} 

Servlet Kod:

String actions[] = request.getParameterValues("action[]"); 
if(actions!=null) 
for(int i=0;i<actions.length;i++) 
{ 
    System.out.print(" Action: "+actions); 
} 
else 
    System.out.println("Action is null"); 

Stosując powyższy kod Dostaję wiadomość "Akcja jest pusta".

A jeśli staram

String actions[] = request.getParameterNames("action[]"); 

otrzymuję błąd składni:

The method getParameterNames() in the type ServletRequest is not applicable for the arguments (String) 

Proszę dać mi znać, jeśli coś jest nie tak w kodzie.

+0

Gdzie jest kod HTML lub JavaScript, który wywołuje aplet? – home

+0

Czy możesz opublikować kod wysyłania tablicy akcji do serwletu ... –

+0

Bhushan

Odpowiedz

6

można po prostu dostać tablicę z nazwą tablicy ...

działania String [] = request.getParameterValues ​​("działanie");

+3

Tomcat nie rozpoznaje parametru, chyba że dodaję nawiasy na końcu nazwy, tj. ("akcja []"). – Amalgovinus

1

Nie można przekazać tablicy java jako parametru, ponieważ jest to struktura. Najlepszym sposobem jest serializowanie go do obiektu typu string, np. JSon. Możesz użyć JSON.stringify. Prosty i wydajny. Ponieważ możesz serializować także na serwerze, jest to bardzo przydatne.

0

Przełęcz JavaScript array zmienna z form action wysłać wartości do serwletu, a następnie użyj

String[] darray=request.getParameterValues("variable name used with link"); 
Powiązane problemy