JSLT, pegar parametros!

6 respostas
Thiago_Ananias

Olá pessoal, deixe eu explicar minha dúvida e se há como resolver um probleminha

1º - Dúvida:

Há duas maneiras de passar valores entre as peginas, passando na url mesmo, por exemplo, “index.jsp?parametro1=valor1&parametro2=valor2” e assim

request.setAttribute(“parametro1”, “valor1”);
request.setAttribute(“parametro2”, “valor2”);

Só que o segundo modo eu uso no Struts, dou um foward e depois se dou um request.getParameter(“parametro1”) não aparece nada! pq? eu consigo pegar este valor com JSLT ${parametro1}, e este JSLT pega o request.getParameter tb? digo, as duas formas, ele consegue resgatar das duas maneiras?

2 - Problema:
Tem alguma maneira de eu listar todos os valores que estao no request e montar uma String com eles? exemplo, “valor1=3&valor2=6”

Obrigado!

6 Respostas

lmprates

E aí thiago.

Para listar todos os parametros de um request, você pode utilizar o seguinte método método:

Enumeration param = request.getParameterNames();
depois você faz um while e monta sua string:
while(param.hasMoreElements()){
     //seu código aqui
 
 }
Thiago_Ananias

Legal Imprates!! Mas e akele lance do JSLT, ele puxa das duas formas? sabe pq? valew

[]s

marcelo_mococa

você está está confundindo parametro(parameter) com atributo(attribute).

Neste exemplo:

index.jsp?parametro1=valor1&parametro2=valor2

você está mandando parâmetros na sua requisição. No seu servlet você captura estes parâmetros através do método request.getParameter(xxx). Parâmetros são sempre string.


Atributos podem ser guardados na requisição, ou seja, quando a sessão morrer eles morrem junto. Foi o que você fez no código:

request.setAttribute("parametro1", "valor1");
request.setAttribute("parametro2", "valor2"

pra recuperar um atributo da requisição, você usa request.getAttribute(xxx);
Lembre-se que um atributo pode ser qualquer objeto.


Usando ${nomeAtributo}, a expression language irá procurar em todos os escopos (request, session, etc…) até encontrar um atributo com este nome. Veja bem, eu disse atributo.

Para recuperar um parâmetro da requisição, você faz ${param.nomeDoParametro}

Thiago_Ananias

humm, entendi cara! Valew pela explicação! Agora sim compreendi a diferença! Esse JSLT facilita a vida então hein?!!!

Valew!

marcelo_mococa

dominar a JSTL é essencial para qualquer desenvolvedor.

jessetsilva

Bom dia.

eu tenho uma duvida parecida.

estou passando uma String para um JSLT como parametro, mas na JSlT gostaria de imprimir este valor da String, e não consigo

ja usei o método explicado aqui, mas estou errando em alguma parte que não entendi.

aqui eu passo por parametro :

ScopeUtils.putRequestDataObject(
								data,
								"pmsize",
			String.valueOf(relatorioPrestamista.size())); // passando o tamanho da lista PM

e aqui tentei recuperar

<c: setvar="pmsize" value="${pmsize}">

e depois tento imprimir

out.print(pmsize);

ja tentei desta e de varias outras formas, mas até agora não deu certo, alguem tem uma ideia de como fazer isso?

Criado 27 de junho de 2007
Ultima resposta 14 de jan. de 2009
Respostas 6
Participantes 4