O arquivo index.xhtml esta funcionando e o sendo intpretado. Mas meu arquivos livro.xhtml não é interpretado pelo navegador e as tags JSF aparecem no código. Não da nenhum erro ele apenas não interpreta quando roda no navegador
O arquivo index.xhtml esta funcionando e o sendo intpretado. Mas meu arquivos livro.xhtml não é interpretado pelo navegador e as tags JSF aparecem no código. Não da nenhum erro ele apenas não interpreta quando roda no navegador
Felipe, tudo bem ?
Cara rola você mostrar para gente como está seu arquivo xhtml e seu bean para gente poder te ajudar melhor ?
Abraços
Tenho a impressão de que o problema dele é o mesmo que o meu (porém não sei o que é bean para que eu possa postar aqui).
Estou utilizando o Maven e depois de uma bagunça e muita pesquisa no Google com diversos problemas relacionados com a versão do Dynamic Web Module e o Eclipse não deixar alterar no Project Facets, somado a por padrão ele ter vindo com java 1.6 e não 1.8 e também não deixar trocar por algum motivo e ter que alterar o meu web.xml por causa da versão do DWM, finalmente o Eclipse não me reclama mais de erro nenhum.
PORÉM ele não reconhece o arquivo livro.xhtml. Ele definitivamente lê e abre o arquivo index.jsp criado por padrão pelo Maven, mas o xhtml ele não abre.
Ao mandar rodar o TomCat, a seguinte exception é lançada (mas ele roda de qualquer forma, tanto é que o index.jsp aparece no navegador):
GRAVE: Servlet [Faces Servlet] in web application [/library] threw load() exception
java.lang.ClassNotFoundException: javax.faces.webapp.FacesServlet
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1285)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1119)
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:520)
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:501)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:118)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1050)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:989)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4913)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5223)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1419)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1409)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Para conseguir fazer funcionar o projeto, tive que alterar meu web.xml que segue (a versão 2.3 que vem por padrão dava erro):
<web-app 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-app_3_0.xsd"
version="3.0">
<display-name>library</display-name>
<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>
</web-app>
Porém agora no Project Facets, ele está colocando como versão 3.1 por algum motivo. Não coloquei 3.1 em lugar nenhum! Mesmo se eu alterar manualmente o arquivo onde fica essa configuração, ele muda de volta pra 3.1!
Segue abaixo o meu pom.xml:
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>br.com.dominio</groupId>
<artifactId>library</artifactId>
<packaging>war</packaging>
<version>1.0.0-SNAPSHOT</version>
<name>library Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.glassfish</groupId>
<artifactId>javax.faces</artifactId>
<version>2.3.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.0-b07</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<finalName>library</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
E por último, o meu livro.xhtml:
<?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://java.sun.com/jsf/html">
<h:body>
<h:form>
<h:inputText/>
<h:commandButton value = "Save"/>
</h:form>
</h:body>
</html>
Felipe, Você chegou a definir o xhtml no mapeamento na hora de criar o projeto?