[resolvido] jsf nao reconhece bean

6 respostas
E

pessoal, estou estudando jsf 1.2 e depois pretendo partir para o 2, porem no primeiro exemplo nao consigo executar.
Ao abrir a pagina no navegador o campo de entrada para o dado esta exibindo o nome do campo no bean, e nao o campo em branco para a digitacao.

Esta aparencendo assim no field:

#{alunos.nome}

meu bean

package teste;

public class Alunos{

	private String nome = "";
	public Alunos(){}
	
	public void setNome(String nome){
		this.nome = nome.toUpperCase();
	}
	
	public String getNome(){
		return this.nome;
	}
}

o faces-config

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE faces-config PUBLIC
	"-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
	"http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
	
<faces-config>
	<managed-bean>
		<description>
		</description>
		<managed-bean-name>alunos</managed-bean-name>
		<managed-bean-class>teste.Alunos</managed-bean-class>
		<managed-bean-scope>session</managed-bean-scope>
	</managed-bean>
</faces-config>

web.xml

<?xml version = "1.0"?>
<!DOCTYPE web-app PUBLIC 
	"-//sun Microsystems, Inc.//DTD Web Application 2.3//EN"
	"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
	<context-param>
		<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
		<param-value>client</param-value>
	</context-param>
	<context-param>
		<param-name>javax.faces.CONFIG_FILES</param-name>
		<param-value>/WEB-INF/faces-config.xml</param-value>
	</context-param>
	<listener>
		<listener-class>com.sun.faces.config.ConfigureListener</listener-class>
	</listener>
	<servlet>
		<servlet-name>Faces Servlet</servlet-name>
		<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>Faces Servlet</servlet-name>
		<url-pattern>*.jsf</url-pattern>
	</servlet-mapping>
</web-app>

e a pagina

<HTML>
	<head>
		<title>Primeiro exemplo de JSF</title>
		<link href="estilo.css" type="text/css" rel="stylesheet">
	</head>
	<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
	<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
	
	<body bgcolor="white">
	<div align="center">
		<h2>Primeiro exemplo de jsf</h2>
		<f:view>
			<h:form id="frmAlunos">
				<h:inputText id="nome" value="#{alunos.nome}"/>
				<h:commandButton id="enviar" value="Enviar"/>
			</h:form>
			<h:outputText id="resultado" value="#{alunos.nome}"/>
		</f:view>
	</div>
	</body>
</HTML>

Poderiam me ajudar?

Obrigada!!!

6 Respostas

M
D

vc ta fazendo fora do padrao...

vc deve saber que o Bean Não é a entidade... no seu caso aluno....

vc tem que ter a classe Aluno que é a sua entidade....
e ter uma classe chamada AlunoBean que contem o objeto Aluno...

exemplo....

@ManagedBean(name = "alunoBean")
@ViewScoped
public class AlunoBean {


Aluno aluno = new Aluno();

//getters e setters


}

e na pagina aonde ta #{alunos.nome} sera... #{alunoBean.aluno.nome}

e assim por diante =P

OBS: so vi agora que vc ta estudando o jsf1.2 ... mais ta ai um exemplo do 2.0 hehehehehe

T

Acho melhor você pegar algumas apostilas na internet sobre jsf2.0

tem a da K19, caelum …

E

Gente eu queria entender o 1.2 e o 2 também. É sempre bom ter noção de algo mais antigo devido aos sistemas legados que ainda estão rodando no mercado. Sei que tecnologia mais recente é melhor, devido a melhorias e correções de bugs, mas queria entender o porque o código não funciona. Tem alguém que pode me ajudar com o 1.2?

R

você está usando tags html padrão, como e

Tente substituí-las por <h:head> e <h:body> respectivamente.

E

erro estava no xml, apenas refiz e deu certo.
Obrigada.

Criado 21 de junho de 2012
Ultima resposta 22 de jun. de 2012
Respostas 6
Participantes 5