[Resolvido] Busca por categoria

9 respostas
desk

Olá pessoal, é o seguinte, estou fazendo 1 sitezinho de livros onde tem diversas categorias (direito, informatica, lingua estrangeira, etc…) e há um menu com o nome de tais categorias, oque quero fazer é quando a pessoa clicar em uma das categorias, fazer uma busca e trazer todos apenas dessa categoria q ele clicou… porém como eu vo fazer para quando ele clicar no link Direito informar para o controller a tal categoria? estou com dúvida quanto a isso, já fiz o metodo pra buscar pela categoria no DAO e a action:

public List<Livros> livrosCategoria(String categoria) {
		return (List<Livros>) session.load(Livros.class, categoria) ;
	}
public class LivrosCategoriaAction {
	private List<Livros> livros ;
	private String categoria ;
	
	
	@Action(value="categoria", results={
			@Result(name="ok", location="/livro-categoria.jsp")
	})
	public String execute() {
		livros = new LivrosDAO().livrosCategoria(categoria) ;
		return "ok" ;
	}
	
	public List<Livros> getLivros() {
		return livros;
	}
	public void setCategoria(String categoria) {
		this.categoria = categoria;
	}
}

9 Respostas

zoren

É só passar pela URL

ai vc pega na sua servlet

desk

zoren:
É só passar pela URL

ai vc pega na sua servlet

Mas como eu pegaria? no caso a view estaria assim certo? :

<a href="categoria?categoria=${categoria}"> Direito </a>

dai qdo eu boto o mouse encima do link fica 'categoria?categoria= ’ ow seja, não tá pegando a cat … como eu falaria que esse texto ’ Direito ’ seria a tal categoria a ser buscada??

Felagund

vc tem que colocar a PK da sua categoria na URL

<a >  Direito </a>

no caso o ${categoria} devera conter a PK da categoria Direito…

R

eu ja vi isto com ajax. tem no livro que comprei de juliano niderauer…
seleciona o combo, e mostra os dados referentes…

seria mais ou menos isto?

web interativa com ajax e php… o nome do livro.
da para adaptar para o java.

desk

Felagund:
vc tem que colocar a PK da sua categoria na URL

<a >  Direito </a>

no caso o ${categoria} devera conter a PK da categoria Direito…


desculpe mas não intendi muito bem… PK ?

@raghy - é mais ou menos isso sim… tem um menu com alguns nomes de categorias… o cara clicava na tal categoria e mostraria tudo q se refere a essa categoria … no meu caso livros, iria mostrar livros apenas dessa categoria. Vo da uma olhada nisso ai que vc falo ^^

desk

Bom, fiz algumas modificações porém está na mesma. Quero que assim que o cara clicar no link Direito, mostre todos os livros que são sobre Direito. Quando ponho o mouse encima do link fica 'categoria?categoria=' ow seja, não está conseguindo pegar a tal categoria eu acho.

O problema é que não estou conseguindo passar o valor do texto para a variavel categoria da action? seria assim mesmo?
Direito

Segue as classes e jsp:
//DAO
	public List<Livros> livrosCategoria(String categoria) {
		Query query = session.createQuery("from Livros where categoria = :categoria") ;
		query.setString("categoria", categoria) ;
		
		return (List<Livros>) query.uniqueResult() ;
	}
public class LivrosCategoriaAction {
	private List<Livros> livros ;
	private String categoria ;
	
	
	@Action(value="categoria", results={
			@Result(name="ok", location="/livro-categoria.jsp")
	})
	public String execute() {
		livros = new LivrosDAO().livrosCategoria(categoria) ;
		return "ok" ;
	}
	
	public List<Livros> getLivros() {
		return livros;
	}
	public String getCategoria() {
		return categoria;
	}

	public void setCategoria(String categoria) {
		this.categoria = categoria;
	}
}
<a href="categoria?categoria=${categoria}">Direito</a>
desk

up

Felagund

cara vc tem que fazer seu link diferente, o que eu quiz dizer da PK era mudar a query para filtrar pelas categorias, exatamente como vc fez,

mas teu link ta errado teria de ser algo como

href='action?categoria=Direito'>Direito
desk

Felagund:
cara vc tem que fazer seu link diferente, o que eu quiz dizer da PK era mudar a query para filtrar pelas categorias, exatamente como vc fez,

mas teu link ta errado teria de ser algo como

href='action?categoria=Direito'&gt;Direito

po cara, consegui aqui, brigadão mesmo :wink:
Na verdade eu já tinha tentado desse jeito, dai estava indo pra pagina branca e imaginei q não tava coseguindo buscar, mas dai quando fui ver a página de resultados estava em branca…
hehe brigado!

Criado 29 de março de 2010
Ultima resposta 30 de abr. de 2010
Respostas 9
Participantes 4