[Resolvido] Busca por categoria

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;
	}
}

É só passar pela URL

ai vc pega na sua servlet

[quote=zoren]É só passar pela URL

ai vc pega na sua servlet[/quote]

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??

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…

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.

[quote=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…[/quote]
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 ^^

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:

[code]//DAO
public List livrosCategoria(String categoria) {
Query query = session.createQuery(“from Livros where categoria = :categoria”) ;
query.setString(“categoria”, categoria) ;

	return (List<Livros>) query.uniqueResult() ;
}[/code]

[code]public class LivrosCategoriaAction {
private List 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;
}

}[/code]

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

up

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

[quote=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 [/quote]

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!