Componentes jsf não carregam

34 respostas
C

Pessoal, não sei mais o que fazer. A pagina não esta exibindo os componentes.

A 3 dias tentando resolver isso e nada…

Estou usando SbringBoot

Classe Controller:

import javax.faces.bean.SessionScoped;
import javax.inject.Named;
import org.springframework.beans.factory.annotation.Autowired;
import com.example.entity.PessoaEntity;
import com.example.repository.ClienteRepository;

@Named
@SessionScoped
public class ClienteController {
	
	@Autowired
	ClienteRepository cR;
	PessoaEntity p = new PessoaEntity();
	
	public PessoaEntity getP() {
		return p;
	}

	public void setP(PessoaEntity p) {
		this.p = p;
	}

	public void salvar(){
		
		cR.save(getP());
	    		
	}
  }

Segue o POM

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>com.example</groupId>
	<artifactId>demo</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>war</packaging>

	<name>demo</name>
	<description>Demo project for Spring Boot</description>

	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.5.2.RELEASE</version>
		<relativePath /> <!-- lookup parent from repository -->
	</parent>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<java.version>1.8</java.version>
	</properties>

	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-jpa</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web-services</artifactId>
		</dependency>

		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<scope>runtime</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework.integration</groupId>
			<artifactId>spring-integration-http</artifactId>
		</dependency>


		<dependency>
			<groupId>javax.inject</groupId>
			<artifactId>javax.inject</artifactId>
			<version>1</version>
		</dependency>

		<!-- https://mvnrepository.com/artifact/javax.faces/javax.faces-api -->
		<dependency>
			<groupId>javax.faces</groupId>
			<artifactId>javax.faces-api</artifactId>
			<version>2.1</version>
		</dependency>


		<dependency>
			<groupId>com.sun.faces</groupId>
			<artifactId>jsf-api</artifactId>
			<version>2.0.4-b09</version>
		</dependency>
		<dependency>
			<groupId>com.sun.faces</groupId>
			<artifactId>jsf-impl</artifactId>
			<version>2.0.4-b09</version>
		</dependency>


	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>


</project>

o Web.xml

<?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" 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" 
id="WebApp_ID" version="3.0">
  <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>*.xhtml</url-pattern>
    <url-pattern>*.jsf</url-pattern>
    <url-pattern></url-pattern>
    
  </servlet-mapping>
</web-app>

e o XHTML

<!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:ui="http://java.sun.com/jsf/facelets"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:spring="http://www.springframework.org/tags"
      xmlns:form="http://www.springframework.org/tags/form"> 

<h:head>

</h:head> 
<body> 

<h:form>
nome:<h:inputText value="#{clienteController.p.nome}"/>
Observações:<h:inputText value="#{clienteController.p.obs}"/>
<h:commandButton value="#{clienteController.salvar}" action="Salvar"/>
</h:form>
</body> 
</html>

34 Respostas

M

Quando você starta o projeto ele ta indo para página que deveria ir?

Tenta adicionar isto no web.xml

<welcome-file-list>
    <welcome-file>index.xhtml</welcome-file>
</welcome-file-list>

E defina a página que você quer que carrega ao iniciar

D

Tenta usar h:body

M

Lul nem notei isto. Muito provável de ser este o problema.

C

Nada ainda…

C

rezei para ser esse descuido. E nada.

M

Tenta adicionar isso ao web xml

<context-param>
      <param-name>javax.faces.CONFIG_FILES</param-name>
      <param-value>/WEB-INF/faces-config.xml</param-value>
   </context-param>

<welcome-file-list>
    <welcome-file>index.xhtml</welcome-file>
  </welcome-file-list>
  <listener>
D

<h:commandButton value="#{clienteController.salvar}" action="Salvar"/>

ta errado o action é “#{clienteController.salvar}” e o value é o “Salvar”

C

ajeitei… nada

C

vou postar no git para melhor analise

D

olha o codigo fonte da página e cola aqui, o html.
da algum erro no console?

C

Não da erro. so nao aparece as tags.

D

botão direito exibir codigo fonte da pagina

C

D

a lib do jsf esta instalada? quando voce começa a digitar a tag no eclipse ela aparece o autocompletar?

C

No começo não. mas fuçando vi que tinha que ir em propriedades>facets e habilitar o JavaServerFaces

Respondendo diretamente, está sim.

D

O jsf não esta funcionando , voce tem a lib javax.faces-2.2.6.jar ou outra versão no se projeto?

C

/home/cleristonlincoln/.m2/repository/javax/faces/javax.faces-api/2.1/javax.faces-api-2.1.jar

D

exclui as dependencias no arquivo pom.xml salva, e adiciona novamente pra ele baixar e instalar

adiciona essa versão:

<dependency>
			<groupId>com.sun.faces</groupId>
			<artifactId>jsf-api</artifactId>
			<version>2.1.6</version>
		</dependency>
		<dependency>
			<groupId>com.sun.faces</groupId>
			<artifactId>jsf-impl</artifactId>
			<version>2.1.6</version>
		</dependency>
C

mesmo jeito. vc quer o projeto e testar ai?

Estou usando springboot

D

me manda o projeto

C

Untitled.zip (62,3 KB)

D

baixei aqui vou tentar

D

voce usa o TomCat? qual a versão?

C

tem 3 tipo de tomcat ai. Não sei pra q serve cada um.

/home/cleristonlincoln/.m2/repository/org/apache/tomcat/embed/tomcat-embed-core/8.5.11/tomcat-embed-core-8.5.11.jar
/home/cleristonlincoln/.m2/repository/org/apache/tomcat/embed/tomcat-embed-el/8.5.11/tomcat-embed-el-8.5.11.jar
/home/cleristonlincoln/.m2/repository/org/apache/tomcat/embed/tomcat-embed-websocket/8.5.11/tomcat-embed-websocket-8.5.11.jar

L

O problema é que, na hora de configurar teu projeto, você deixou a pasta WebContent, mesmo sendo um projeto maven, onde os arquivos ficaram em src/main/webapp.
Assim sendo, o projeto não encontra as configurações do JSF, logo, não funcionará direito.

1 - Remova o diretório WebContent e tudo que tem nele.

2 - Abra as propriedades do projeto > project facets

3 - Desmarque JSF e Dynamic Web Project.

4 - Clique em Apply.

5 - Remarque o Dynamic web project

6 - Clique no link que aparece embaixo (further configuration available)

7 - Defina como content directory o valor "src/main/webapp"

8 - Marque a opção "Generate web.xml"

9 - Clique em OK.

10 - Clique em apply.

11 - Clique em JSF

12 - Clique em "further configuration available"

13 - Altere o que for necessário (acredito que nada)

14 - Clique em ok e ok novamente.

15 - Rode o projeto e veja se funcionou
L
Quando for criar um projeto maven, sempre prefira seguir os passos abaixo (se utilizar eclipse):

1 - Abra o menu File, selecione New e Other

2 - Expanda a opção Maven e selecione "Maven project"

3 - Clique em Next

4 - Clique na opção "Create a simple project (skip archetype selection)

5 - Clique em Next

6 - Preencha o group id e o artifact id (altere a opção Version se quiser). Se for criar um projeto web, altere a opção Packaging para war

7 - Clique em Finish.

8 - Aguarde a criação do projeto

9 - Clique com o botão direito do mouse sobre o projeto e selecione properties

10 - Abra project facets

11 - Desmarque a opção “Dynamic web project” e corrija a versão do java (deve estar em 1.5, selecione a correta)

12 - Clique em apply

13 - Marque a opção “Dynamic web project” novamente

14 - Clique em Further configuration available

15 - Defina como content directory o valor "src/main/webapp"

16 - Marque a opção "Generate web.xml"

17 - Clique em ok

18 - Clique em apply

19 - Marque a opção java server faces (JSF)

20 - Clique em Further configuration available

21 - Configure de acordo com o que melhor desejar

22 - Clique em ok

23 - Clique em ok

Agora teu projeto estará funcionando como um projeto maven. Adicione os artefatos necessários para que ele funcione e comece a desenvolver.
C

não funcionou. mas vou criar um do zero com esses seus passos e ver no que da. Obg por ajudar.

D

aqui funcionou :

apenas alterei o web.xml ,
seu web.xml ficou assim:

<?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" 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" 
id="WebApp_ID" version="3.0">
  <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>*.xhtml</url-pattern>
    
    
  </servlet-mapping>
   <welcome-file-list>
    <welcome-file>/cliente.xhtml</welcome-file>
  </welcome-file-list>
  
</web-app>
C

kkkkkkk. aqui nada. to rindo pra nao chorar. vou desinstalar tudo e reinstalar.

D

Vou ti mandar o projeto

D

corrigido.zip (62,6 KB)

D

Resolvido?

C

nada. estou achando que é um pro do meu eclipse. Por fim baixei uma versão do proprio site do spring e estou seguindo outro material de estudo.
Não usei o XHTML ainda, so no HTML, mas pelo menos o estudo nao esta empacado e estou fazendo o CRUD certinho.

A

Isso resolveu pra mim… Obrigado

Criado 30 de março de 2017
Ultima resposta 20 de mar. de 2022
Respostas 34
Participantes 6