2011-04-11 24 views
5

Parametre olarak geçtiğim diğer dizileri içeren bir dizim var. Parametreyi almak için request.getParameterValues() kullanıyorum ancak sorun sadece dizi dizisinde orijinal dizidir. Dizinin içindeki diziler dizeye dönüştürülür. Çok boyutlu diziler göndermek ve almak için başka bir yolu var mı?java-servlet request.getParameterValues ​​()

+0

@mayan: virgül önümüzdeki içindeki diziler (,) dizeleri ayrılmış mı ?? –

+0

Kod nerede? Ana dizinin içeriğinin, isteği iletmeden önce bir dizi olduğundan emin misiniz? Lütfen diziyi nasıl sakladığınızı, ilettiğinizi ve nasıl aldığınızı görelim. – ace

+0

evet, virgül içinde, virgül (,) ayrık değerler olarak dizilerdeki dizileri ayırmak istemiyorum .. – mayan

cevap

1

iç diziler virgül olarak geliyor ise (,) daha sonra aşağıdaki kodu

String[] outerArray=request.getParameterValues('parameterName'); 

String[] innerArray=outerArray[0].split(","); 

Dinamik deneyin ayrıştırılır, bunu yapmak ve veri depolamak için farklı String[] kullanabilir veya bir ArrayList ait kullanabilirsiniz String[]

GET yöntemini kullanıyorsanız
for (int i = 0; i < outerArray.length; i++) { 

      String[] innerArray=outerArray[i].split(",");   
     } 
+0

Dizilim değerlerimin de, örneğin .- etc – mayan

+0

@mayan gibi bazı kalıpları olduğu için bölmeyi kullanmak istememem sorun: Sonra iç diziler göndermek yerine geçici çözümün yalnızca bir yolu var ... karakterlerle ayrılmış dizeleri göndermek "# $ #" veya "$$$" veya "###" gibi bir dizi dizide bulunmayan ve ardından bölme ("desen") 'yi kullanamazsınız; –

+0

Teşekkürler cevap için hala başka bir yol bulmak zorundayım ... – mayan

17

böyle sorgu oluşturmak gerekir:

http://localhost:8080/myApp/myServlet/?habits=Movies&habits=Writing&habits=Singing 

POST yöntemini kullanıyorsanız, application/x-www-form-urlencoded İçerik Türü'nü kullanmanız veya sadece HTML biçiminde Post yöntemini kullanmanız gerekir. sizin servlet'dir her iki durumda da Sonra

<form method="post"> 
Habits : 
    <input type="checkbox" name="habits" value="Reading">Reading 
    <input type="checkbox" name="habits" value="Movies">Movies 
    <input type="checkbox" name="habits" value="Writing">Writing 
    <input type="checkbox" name="habits" value="Singing">Singing 
    <input type="submit" value="Submit"> 
</form> 

: Örneğin:

String[] outerArray=request.getParameterValues('habits'); 
your array will be filled with separated values: 

//["Writing","Singing"]