vRaptor

8 respostas
N

Oi galera, estou precisando da ajuda de vc´s…começamos a usar vRptor na nossa empresa (DIgicon), e estou com uma duvida… se alguém puder me ajudar.

No meu jsp, estou montado um select list…ou seja monto um select com varios itens, e preciso recuperar na minha classe logic a lista desse select, alguém poderia me dizer como faço isso na classe logic?
se fosse no struts iria recuperar assim request.getParameterValues(“portosR”); mas no vraptor naum estou conseguindo.
segue meu codigo jsp…

8 Respostas

von.juliano
Coloca o seguinte no seu logic:
@Parameter(create = true)
private List<String> itens;

public void list() {
	System.out.println(itens.toString());
}

Blz! Flw! :thumbup:

N

entaum fiz como vc falou…

criei na logic

@Parameter(create = true)

private List list;

e setei no jsp assim…

<select name="list" id="list" multiple="multiple" size="5">
		<c:forEach var="tipoLayout" items="${listLayout}">
			<option value="${tipoLayout.idLayout}"><c:out value="${tipoLayout.descLayout}" />
			</option>
		</c:forEach>
 	</select>

mas ele me retorna a list = null;

vc sabe pq ta acontecendo isso?

von.juliano

Então, essa é a mágica do vraptor. Como vc disse, se fosse com struts, vc usaria request.getParameterValues(); no vraptor isso não é necessário, pois com a anotattion @Parameter ele sabe que ele deve receber um parâmetro que virá do request.
Não é necessário criar o itens no model, ele é apenas o valor que está vindo do request. Se vc quiser obter apenas o valor selecionado, vc pode criar o seguinte:

@Parameter
String item;
/*
 * Isso seria o mesmo que:
 * String item = request.getParameter("item")  ;
 */

O único detalhe em especial é que a lista declarada tem que ter o nome igaul a como vc a declarou no jsp. Dá uma lida nesse tutorial que ele é bem simples.

OK? Qualquer coisa posta aí de novo! :mrgreen:

N

então…mas eu fiz isso mesmo…

criei na logic

@Parameter(create = true)

private List list;

e setei no jsp o select com noome list como vc disse…

<select name=“list” id=“list” multiple=“multiple”

mas mesmo assim a lista vêm vazia…

von.juliano

Cara, é o seguinte, já que vc está passando valores pra lista, vc tem que passar como list[0], list[1], list[2]… Assim vc preencheria ela toda pra pegar no logic.

Sacou? Só que eu nunca fiz assim, pegando a lista toda, mas acho q o principio é o mesmo. Se não funcionar, vai postando que eu tento te ajudar! :thumbup: Flw!

N

valew…vou tentar aqui…
obrigado pela atenção.

N

fiz como vc falou acontece que qdo coloco o nome listTeste que é o nome, da variavel q eu criei na tela pra receber esse valor ela da invalid, na pagina e nem chama o submit. ou seja em vez de ele chamar a pagina teste.ok ele chama teste.invalid.

12:11:15,578 DEBUG [BasicIntrospector ] Parameter listTeste will be used on field listTeste
12:11:15,593 DEBUG [BasicIntrospector ] Unable to find converter for java.util.List
org.vraptor.converter.ConversionException: Unable to find converter for java.util.List
at org.vraptor.converter.SimpleConverterManager.findConverter(SimpleConverterManager.java:94)

vc sabe o que posso fazer?

F

Olá,

Acho que isso aqui que voce precisa.

http://www.vraptor.org/pt/request/list.html

]['s

Criado 18 de maio de 2007
Ultima resposta 18 de mai. de 2007
Respostas 8
Participantes 3