2011-04-11 15 views
5

Tengo una matriz que contiene otras matrices que paso como parámetro. Estoy usando request.getParameterValues() para obtener el parámetro, pero el problema es que solo la matriz original viene en el formato de matriz. Las matrices dentro de la matriz se están convirtiendo en cadena. ¿Hay alguna otra forma de enviar y recibir matrices multidimensionales?java-servlet request.getParameterValues ​​()

+0

@mayan: ¿Son las matrices dentro viniendo como coma (,) cadenas separadas ?? –

+0

¿Dónde está el código? ¿Estás seguro de que el contenido de la matriz principal es una matriz antes de reenviar la solicitud? Por favor, déjenos ver cómo almacena, reenvía y obtiene la matriz. – ace

+0

sí las matrices dentro de una coma como valores separados por coma (,) no quiero usar la división ... – mayan

Respuesta

1

si las matrices internas están llegando como coma (,) separa luego probar el código de abajo

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

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

dinámicamente, se puede hacer esto y utilizar diferentes String[] para almacenar los datos o utilizar una ArrayList de String[]

for (int i = 0; i < outerArray.length; i++) { 

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

Este es el problema que no quiero usar la división, ya que mis valores de matriz también tienen algunos patrones, como, .- – mayan

+0

@mayan: Entonces solo hay una forma de solución en lugar de enviar matrices internas ... enviar cadenas separadas por caracteres como '# $ #' o '$$$' o '###' algún patrón que no aparece en la matriz y luego usa 'split ('the pattern')'; –

+0

Gracias por tu respuesta, todavía tengo que encontrar otra forma ... – mayan

17

Si está utilizando el método GET se debe construir consulta como esta:

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

Si está utilizando el método POST debe utilizar application/x-www-form-urlencoded Tipo de contenido o simplemente usar el método Publicar en su formulario HTML. Por ejemplo:

<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> 

Luego, en ambos casos en el servlet:

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

//["Writing","Singing"]