[RESOLVIDO]Problemas com JSF e Managed Beans

6 respostas
R
Ola a todos, estou com uma duvida ENORME referente a JSF, JSP e Managed Beans. Primeiro, não estou conseguindo executar minha aplicação, criei uma página JSP que cadastra numeros de telefone, dentro desta página tem as funções do Managed Beans, criei também o JAVABeans, o Faces-Config.xml esta mapenado apenas o Managed Beans e a Welcome-File, e mesmo assim da erros. Gostaria de saber quais são os jars necessarios para usar estes recursos e se é necessario mais configurações no Faces-Config.xml e no web.xml (este já gerou algumas coisas sozinho), na criação do projeto coloquei o Framework JSF 2.0. Segue meu faces-config.xml e o web.xml
<?xml version="1.0" encoding="UTF-8"?>

<faces-config
    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_2_0.xsd"
    version="2.0">
<managed-bean>
<managed-bean-name>clienteMB</managed-bean-name>
<managed-bean-class>br.com.rapha.model.Cliente</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
</faces-config>
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
	version="3.0">
	<display-name>ManagedBeans</display-name>
	<welcome-file-list>
	<welcome-file>cadastraCliente.jsp</welcome-file>
	<welcome-file>default.jsp</welcome-file>
	<welcome-file>default.html</welcome-file>
	</welcome-file-list>
	<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>/faces/*</url-pattern>
	</servlet-mapping>
	<context-param>
		<description>State saving method: 'client' or 'server' (=default). See JSF Specification 2.5.2</description>
		<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
		<param-value>client</param-value>
	</context-param>
	<context-param>
		<param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
		<param-value>resources.application</param-value>
	</context-param>
	<listener>
		<listener-class>com.sun.faces.config.ConfigureListener</listener-class>
	</listener>
</web-app>
Segue a tela de erro
HTTP Status 500 - 

--------------------------------------------------------------------------------

type Exception report

message 

description The server encountered an internal error () that prevented it from fulfilling this request.

exception 

javax.servlet.ServletException: Servlet execution threw an exception


root cause 

java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config
	com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:421)
	com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:114)
	com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
	com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
	com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)


note The full stack trace of the root cause is available in the Apache Tomcat/7.0.14 logs.


--------------------------------------------------------------------------------

Apache Tomcat/7.0.14
Para evitar mais duvidas segue minha pagina JSF:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
	pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<f:view>
	<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>.::Cadastra cliente::.</title>
</head>
<body>
	<h:form>
		<h:panelGrid columns="2">
			<h:outputLabel value="Nome" for="nome" />
			<h:inputText id="nome" value="#{clienteMB.nome}" size="40" />
			<h:outputLabel value="Idade" for="idade" />
			<h:inputSecret id="idade" value="#{clienteMB.idade}" />
			<h:outputLabel value="ID" for="id" />
			<h:inputSecret id="id" value="#{clienteMB.id}"/>
			<h:outputLabel value="Senha" for="senha"/>
			<h:inputSecret id="senha" value="#{clienteMB.senha}"/>
			<h:outputLabel value="Observações" for="obs"/>
			<h:inputTextarea id="obs" value="#{clienteMB.obs}"  cols="40" rows="5"/>
			<h:commandButton value="Salvar" />
		</h:panelGrid>
	</h:form>
</body>
	</html>
</f:view>

6 Respostas

L

Jovem, dê uma pesquisada aí na ferramenta de gerenciamento de dependências http://maven.apache.org/ poque essa história de se preocupar com dependências… sei não viu.

R

Não entendi o q vc quis dizer.
Mas pesquisei bastante já e não acho solução !

F

Na minha opinião não precisa de maven para se configurar 1 provedor de JSF…muito simples.
Qual é seu provedor de JSF? Olha la na documentação dele…la vai falar quais são os jar…
Só pelo erro, ja da para ver q seu provedor esta usando o JSTL. Acho que esta faltando o standard.jar e o jstl.jar que é muito comum os provedores de JSF depender deles…

R

FernandoFranzini:
Na minha opinião não precisa de maven para se configurar 1 provedor de JSF…muito simples.
Qual é seu provedor de JSF? Olha la na documentação dele…la vai falar quais são os jar…
Só pelo erro, ja da para ver q seu provedor esta usando o JSTL. Acho que esta faltando o standard.jar e o jstl.jar que é muito comum os provedores de JSF depender deles…

Obrigado Fernando vou baixar os jars e te respondo !
Mas obrigado pela ajuda !

R

Obrigado Fernando funcionou cara !
Muito obrigado mesmo, agora posso continuar com meus estudos tava parado nisso.
Comecei com jsf e Managed Beans a pouco tempo !

F

Não esquece de colocar [RESOLVIDO] no titulo do post.
A paz :wink:

Criado 6 de julho de 2011
Ultima resposta 6 de jul. de 2011
Respostas 6
Participantes 3