Erro ao chamar Bean

Pessoal, qnd vou “rodar” minha pagina o tomcat acusa o seguinte erro:

/pages/principal.xhtml: Property ‘ativar’ not found on type requisicao.web.UsuarioBean

tenho 4 classes no pacote requisicao.usuario:

Usuario
UsuarioDAO
UsuarioDAOHibernate
UsuarioRN

Tenho tb a classe bean q fica no pacote requisicao.web ! Ele diz q o erro esta na classe bean. Vou colar aqui o codigo da pagina e da classe usuarioBean:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://www.java.sun.com/jsf/html"
	xmlns:f="http://www.java.sun.com/jsf/core">

<h:head>
	<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
	<title>Cadastro de usuários</title>
</h:head>
<h:body>
	<h1>Cadastro de usuários</h1>
	<h:form>
		<h:messages />
		<h:dataTable value="#{usuarioBean.lista}" var="usuario" rules="rows"
			cellpadding="5">
			<f:facet name="caption">
		  A listagem a seguir exibe a relacao de todos os usuários do sistema.
		</f:facet>
			<f:facet name="header">Listagem de Usuários</f:facet>
			<f:facet name="footer">Final da listagem</f:facet>
			<h:column>
				<h:commandLink action="#{usuarioBean.ativar}">
					<h:graphicImage library="imagens"
						name="usuario_ativo_#{usuarioBean.ativo}.png" style="border:0" />
					<f:setPropertyActionListener target="#{usuarioBean.usuario}" value="#{usuario}" />
				</h:commandLink>
			</h:column>
			<h:column>
				<f:facet name="header">Código</f:facet>
			#{usuario.codigo}
			</h:column>
			<h:column>
                <h:graphicImage libary="imagens" name="bandeira_#{usuario.idioma}.png "  />
			</h:column>
            <h:column>
				<f:facet name="header">Nome</f:facet>
			    #{usuario.nome}
			</h:column>
			<h:column>
			   <f:facet name="header">E-mail</f:facet>
			   <a href="mailto:#{usuario.email}">#{usuario.email}</a>
			   </h:column>
			   <h:column>
			   		<h:commandLink action="#{usuarioBean.editar}">
			   			<h:graphicImage library="imagens" name="editar16.png" style="border:0" />
			   			<f:setPropertyActionListener target="#{usuarioBean.usuario}" value="#{usuario}" />
			   		</h:commandLink>
			   	</h:column>
			   	<h:column>
			   	<h:commandLink action="#{usuarioBean.excluir}"
			   	onclick="if (!confirm('Confirma a exclusão do usuario#{usuario.nome} ?')) return false;">
			   	<h:graphicImage library="imagens" name="excluir16.png" style="border:0" />
			   	<f:setPropertyActionListner target="#{usuarioBean.usuario}" value="#{usuario}" />
			   	</h:commandLink>
			   </h:column>
			  </h:dataTable>
			  </h:form>
			 </h:body>
			 
</html>
package requisicao.web;

import javax.faces.application.FacesMessage;
import javax.faces.bean.*;
import javax.faces.context.FacesContext;

import java.util.List;

import requisicao.usuario.*;

@ManagedBean(name = "usuarioBean")
@RequestScoped
public class UsuarioBean {

	private Usuario usuario = new Usuario();

	private String confirmarSenha;
	private List<Usuario> lista;
	private String destinoSalvar;
	
	
	public String novo() {
		this.destinoSalvar = "usuarioSucesso";
		this.usuario = new Usuario();
		this.usuario.setAtivo(true);
		return "usuario";
	}

	public String ativar() {
		if (this.usuario.isAtivo())
			this.usuario.setAtivo(false);
		else
			this.usuario.setAtivo(true);

		UsuarioRN usuarioRN = new UsuarioRN();
		usuarioRN.salvar(this.usuario);
		return null;
	}
	

	public String editar() {
		this.confirmarSenha = this.usuario.getSenha();
		return "/publico/usuario";
	}
	
	public List<Usuario> getLista() {
		if (this.lista == null) {
			UsuarioRN usuarioRN = new UsuarioRN();
			this.lista = usuarioRN.listar();
		}
		return this.lista;
	}

	public String excluir() {
		UsuarioRN usuarioRN = new UsuarioRN();
		usuarioRN.excluir(this.usuario);
		this.lista = null;
		return null;
	}

	public String salvar() {
		FacesContext context = FacesContext.getCurrentInstance();

		String senha = this.usuario.getSenha();
		if (!senha.equals(this.confirmarSenha)) {
			FacesMessage facesMessage = new FacesMessage(
					"A senha não foi confirmada corretamente");
			context.addMessage(null, facesMessage);
			return null;
		}

		UsuarioRN usuarioRN = new UsuarioRN();
		usuarioRN.salvar(this.usuario);

		return "this.destinoSalvar";

	}

	public Usuario getUsuario() {
		return usuario;
	}

	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}

	public String getConfirmarSenha() {
		return confirmarSenha;
	}

	public void setConfirmarSenha(String confirmarSenha) {
		this.confirmarSenha = confirmarSenha;
	}

	public String getDestinoSalvar() {
		return destinoSalvar;
	}

	public void setDestinoSalvar(String destinoSalvar) {
		this.destinoSalvar = destinoSalvar;
	}

	public void setLista(List<Usuario> lista) {
		this.lista = lista;
	}
	
	

}

Obrigado

Tente trocar de <h:commandLink action="#{usuarioBean.ativar}">
para <h:commandLink action="#{usuarioBean.ativar()}">

[quote=jakefrog]Tente trocar de <h:commandLink action="#{usuarioBean.ativar}">
para <h:commandLink action="#{usuarioBean.ativar()}"> [/quote]

fiz o q vc flw q deu outro erro:

could not insert: [requisicao.usuario.Usuario]

[quote=tiago__][quote=jakefrog]Tente trocar de <h:commandLink action="#{usuarioBean.ativar}">
para <h:commandLink action="#{usuarioBean.ativar()}"> [/quote]

fiz o q vc flw q deu outro erro:

could not insert: [requisicao.usuario.Usuario][/quote]Isso ao entrar na tela? ou ao clicar?

[quote=jakefrog][quote=tiago__][quote=jakefrog]Tente trocar de <h:commandLink action="#{usuarioBean.ativar}">
para <h:commandLink action="#{usuarioBean.ativar()}"> [/quote]

fiz o q vc flw q deu outro erro:

could not insert: [requisicao.usuario.Usuario][/quote]Isso ao entrar na tela? ou ao clicar?[/quote]

Ao entrar na tela : /

Cara, nunca vi esse erro.
tenta tirar tudo da tela e ir adicionando aos poucos.

Para ver em qual ponto do código você está tendo o erro.

Amigo bom dia, vc está seguindo o livro Programação Java para Web - novatec. Se sim
tenha muita atenção nas ferramentas a serem uitilizadas, como: bibliotecas, tomcat, eclipse, pois tive alguns
problemas para que eu pudesse acompanha-lo, sempre acontecia alguns erros no qual eram por ex: bibliotecas antigas.

Qualquer coisa estou por aki…

[quote=jakefrog]Cara, nunca vi esse erro.
tenta tirar tudo da tela e ir adicionando aos poucos.

Para ver em qual ponto do código você está tendo o erro.[/quote]

vou fazer isso… eu to estudando pelo livro “programacao java para web” !
To olhando o codigo aqui e nao to achando o erro…

cara posso estar enganado, estou começando com jsf agora.
mas seus métodos do managaed bean deveriam retornar uma string que seria a página para qual a requisição ira responder.

[quote=ssh]cara posso estar enganado, estou começando com jsf agora.
mas seus métodos do managaed bean deveriam retornar uma string que seria a página para qual a requisição ira responder.
[/quote]

estranho, eu tirei o codigo do livro… Ainda to procurando o erro mas n to tendo sucesso : /

[quote=ssh]cara posso estar enganado, estou começando com jsf agora.
mas seus métodos do managaed bean deveriam retornar uma string que seria a página para qual a requisição ira responder.
[/quote] Tá e não tá. rs

Métodos de action sim. De actionListener não.

Por isso disse para arrancar tudo e colocar um a um, até achar quem está dando erro. [=

[quote=eduardimaa]Amigo bom dia, vc está seguindo o livro Programação Java para Web - novatec. Se sim
tenha muita atenção nas ferramentas a serem uitilizadas, como: bibliotecas, tomcat, eclipse, pois tive alguns
problemas para que eu pudesse acompanha-lo, sempre acontecia alguns erros no qual eram por ex: bibliotecas antigas.

Qualquer coisa estou por aki…[/quote]

Nao eh isso nao… Eu peguei as bibliotecas do projeto do proprio livro (baixei o projeto no site ) !
Voltei do horario de almoco agora, vou tentar achar o erro aqui !

[]'s