Duvida com passagem de parametros (vraptor)

Iai pessual, estou com bastante duvidas no seguinte…

Estou utiizando vraptor e tenho q fazer uma busca onde devo passar como parametro um Long que representa o id de um tipo de parceiros que esta em um combobox. Eu fiz o método que faz a lógica q eu necessito, ja esta testada e o valor ficará armazenado no atributo parceiros que é um List:

public void listaParceiro(Long id){ this.daoFactory.beginTransaction(); this.parceiroDao = this.daoFactory.getParcDao(); parceiros = this.parceiroDao.listaParceiro(id); this.daoFactory.commit(); }

Bom, ai vem minha duvida, não sei como pegar esse valor do formulario e passar como parametro para o metodo…e tb como depois de executar o método listar esses valores no DisplayTags…será que alguem poderia me dar uma força??

Listando todos os parceiros cadastrados no banco eu ja fiz…mas não sei como fazer dessa maneira q descrevi.

Obrigado

Veja isso aqui: http://www.vraptor.org/pt/request/index.html

então pessual, to quebrando a kbeça aki…e fiz algumas coisas…

a minha ParceiroLogic esta assim:

[code]package br.com.cienci.wisa.logic;

import java.util.List;

import org.vraptor.annotations.Component;
import org.vraptor.annotations.InterceptedBy;
import org.vraptor.annotations.Out;
import org.vraptor.annotations.Parameter;

import br.com.cienci.wisa.dao.DaoFactory;
import br.com.cienci.wisa.dao.ParceiroDao;
import br.com.cienci.wisa.modelo.Parceiro;
import br.com.cienci.wisa.modelo.TipoParceiro;

/**

  • ParceiroLogic.java
  • Criado em 26/01/2008
  • @author Ciro S. Santos
  • @version 1.0
  • Classe responsavel pela lógica de négocios do cadastro de parceiros
    */

@Component(“parceiro”)
@InterceptedBy({FactoryInterceptor.class,DaoInterceptor.class})
public class ParceiroLogic {

private DaoFactory daoFactory;
private List<Parceiro> parceiros;
private Parceiro parceiro;
private ParceiroDao parceiroDao;

@Out
@Parameter
private Long id;

public ParceiroLogic(DaoFactory daoFactory){
	this.daoFactory = daoFactory;
}

public void armazena(Parceiro parceiro){
	this.daoFactory.beginTransaction();
	this.daoFactory.getParceiroDao().atualiza(parceiro);
	this.daoFactory.commit();
}

public void remove(Parceiro parceiro){
	this.daoFactory.beginTransaction();
	this.daoFactory.getParceiroDao().remove(parceiro);
	this.daoFactory.commit();
}

public void lista(){
	parceiros = this.daoFactory.getParceiroDao().listaTudo();
}

public void editar(Parceiro parceiro){
	this.parceiro = this.daoFactory.getParceiroDao().procura(parceiro.getCod());
}

public Parceiro getParceiro() {
	return parceiro;
}

/**
 * Método para que o fórmulario seja exibido ao chamar cliente.adiciona.logic
*/
public void formulario(){
}

public void pesquisa(){
}

public List<Parceiro> getParceiros() {
	return parceiros;
}

public List<TipoParceiro> getListaTipoParceiros(){
	return this.daoFactory.getTipoParceiroDao().listaTudo();
}

public void listaParceiro(Long id){
	this.daoFactory.beginTransaction();
	this.parceiroDao = this.daoFactory.getParcDao();
	parceiros = this.parceiroDao.listaParceiro(id);
	this.daoFactory.commit();
}

protected Long getId() {
	return id;
}

}
[/code]

a nível de teste crei o pesquisa.ok.jsp:

[code]<%@ page language=“java” contentType=“text/html; charset=ISO-8859-1”
pageEncoding=“ISO-8859-1”%>

Insert title here [/code]

e tb o listaParceiro.ok.jsp:

[code]<%@ page language=“java” contentType=“text/html; charset=ISO-8859-1”
pageEncoding=“ISO-8859-1”%>

<%@taglib uri=“http://displaytag.sf.net” prefix=“display”%>
<%@taglib uri=“http://java.sun.com/jsp/jstl/core” prefix=“c”%>

Insert title here editar remover [/code]

e a consulta eta em :

[code]import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;

import br.com.cienci.wisa.modelo.Parceiro;

/**
*ParceiroDao.java
*Criado em 31/01/2008
*@author Ciro S. Santos
*@version 1.0
*
*Classe responsavel por fornecedor as consultas para as listagens.
*/

public class ParceiroDao extends Dao {

public ParceiroDao(Session session) {
	super(session, Parceiro.class);		
}

public List<Parceiro> listaParceiro(Long id){	
	
	String hql = "SELECT p FROM Parceiro as p WHERE p.tipo.id = :id";		
	Query query = getSession().createQuery(hql);
	query.setParameter("id", id);
	return query.list();
	
}	

}
[/code]

e no view.proprerties isso:

parceiro.listaParceiro.ok = parceiro.listaParceiro.logic

sera q alguem pode me dizer oq estou fazendo de errado…pois quando executo a url

http://localhost:8080/wisa/parceiro/parceiro.pesquisa.logic

ele me abre o form, e quando clico no botão…ele fica tentando carregar a página, mas não acontece nda…

alguem ai por favor???

vlw… :shock:

alguem??..por favor

Eu tenho várias pesquisa para usuário, usado HQL, e javascrito, ve se da pra adaptar para o seu caso…

public Usuario existeUnico(Usuario usuario) {
		String hql = "select u from Usuario as u where u.login = :login and u.senha = :senha";
		Query query = getSession().createQuery(hql);
		query.setParameter("login", usuario.getLogin());
		query.setParameter("senha", usuario.getSenha());
		return (Usuario) query.uniqueResult();
	}
 public Usuario todos(Usuario usuario) {
		String hql = "select u from Usuario as u where u.login = :login and";
		Query query = getSession().createQuery(hql);
		query.setParameter("login", usuario.getLogin());
		return (Usuario) query.uniqueResult();
	}
public void lista() {
		usuarios = this.daoFactory.getUsuarioDao().listaTudo();
	}
public Usuario existeUnico(Usuario usuario) {
		String hql = "select u from Usuario as u where u.login = :login and u.senha = :senha";
		Query query = getSession().createQuery(hql);
		query.setParameter("login", usuario.getLogin());
		query.setParameter("senha", usuario.getSenha());
		return (Usuario) query.uniqueResult();
	}

[code]

// PESQUISA SIMPLE DE usuarioS, autocompletar
@Remotable
public void searchLogin(Usuario usuario) {

	if (usuario.getLogin() == null) {
		usuario.setLogin("");
	}
	//procura os usuarios com um Login
	this.usuarios = this.daoFactory.getUsuarioDao().searchSimilarLogin(usuario.getLogin());
}

$(document).ready(function() {
var url = ‘cliente.searchNome.logic’;
$("#clienteNome").ajaxError(
function(request, settings){
//alert(settings.getAllResponseHeaders());
//i18n ???
erroText = settings.getResponseHeader(“SessionTimeOut”);
if(erroText != null) {
alert(erroText);
} else {
alert(“NAO, ENCONTRADO O NOME”);
}
}
).autocomplete(url, “cliente.nome”, { minChars:2 });
});

[code]