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 ()
Respuesta
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(",");
}
Este es el problema que no quiero usar la división, ya que mis valores de matriz también tienen algunos patrones, como, .- – mayan
@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')'; –
Gracias por tu respuesta, todavía tengo que encontrar otra forma ... – mayan
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"]
- 1. Dónde poner Java Simple Captcha Builder?
- 2. Genere dinámicamente JFreeChart en el servlet
- 3. El servlet de Captcha causa java.lang.IllegalStateException: PWC3999: No se puede crear una sesión después de que se ha confirmado la respuesta
- 4. ¿Por qué getRealPath() devuelve nulo cuando se implementa con un archivo .war?
- 5. ¿Cómo evitar el enlace de parámetros desde la interpretación de comas en Spring 3.0.5?
- 6. ¿Cómo determinar si un parámetro ha sido "publicado" o "generado" desde Java?
@mayan: ¿Son las matrices dentro viniendo como coma (,) cadenas separadas ?? –
¿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
sí las matrices dentro de una coma como valores separados por coma (,) no quiero usar la división ... – mayan