Problemas com JSF

Seguinte galera eu tinha um projetinho q no struts funcionava beleza ai to migrando ele para jsf mas ai quando clico no botão para inserir os dados do formulario no banco da o seguinte erro org.apache.jasper.el.JspMethodNotFoundException: /distrito/criarDistrito.jsp(20,16) ‘#{CRUDdistrito.criar}’ Method not found: br.com.controlear.dao.CRUDdistrito@248a0a.criar()

criarDistrito.jsp

[code]<%@page contentType=“text/html”%>
<%@page pageEncoding=“UTF-8”%>

<%@taglib prefix=“f” uri=“http://java.sun.com/jsf/core”%>
<%@taglib prefix=“h” uri=“http://java.sun.com/jsf/html”%>

JSP Page Distrito:
[/code]

CDRUdistrito.java

[code]package br.com.controlear.dao;

import br.com.integrator.dao.ConnectionFactory;
import br.com.integrator.pojo.Distritos;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

public class CRUDdistrito extends ConnectionFactory {
public void criar(Distritos distritos) throws SQLException{
String sql= “INSERT INTO controlear_distrito(dis_ds_distrito) VALUES (?)”;
PreparedStatement ps= getConexao().prepareStatement(sql);
ps.setString(1, distritos.getNome());
ps.execute();
ps.close();
}
[/code]

faces-config.xml

<faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd"> <managed-bean> <managed-bean-name>Distrito</managed-bean-name> <managed-bean-class>br.com.integrator.pojo.Distritos</managed-bean-class> <managed-bean-scope>request</managed-bean-scope> </managed-bean> <managed-bean> <managed-bean-name>CRUDdistrito</managed-bean-name> <managed-bean-class>br.com.controlear.dao.CRUDdistrito</managed-bean-class> <managed-bean-scope>request</managed-bean-scope> </managed-bean> </faces-config>

colega ele não está achando o método br.com.controlear.dao.CRUDdistrito.criar() no seu bean…

me parece que no seu faces-config vc declarou errado, vc colocou “controlear”, e não seria “controlar” :?:

<managed-bean-class>br.com.controlear.dao.CRUDdistrito</managed-bean-class>

é algum nome digitado errado que ele não está conseguindo chegar ao método… verifique isso acima…

flw Hewerton

:cry: Ja revisei a digitação esta tudo correto

A expressão #{CRUDdistrito.criar} tenta invocar o método criar() (sem parâmetros) da classe CRUDdistrito, porém o método chamado criar que existe nessa classe tem outra assinatura: criar(Distritos distritos).

Olá , me parece que o metodo está recebendo o nome null , por isso nao consegue inserir

Crie um get e set para o atributo nome neste metodo , ou entao faz ele buscar este objeto .

Para verificar se o nome está aparecendo , use um sytem.out.println( Objeto.getNome());

Distrito: <h:inputText value="#{Distrito.nome}"/>

Acredito que seja isso.

Marco Aurélio