Primefaces

16 respostas
R

Boa noite.

Gostaria de saber qual primefaces é compatível com o jboss-5.1.0.GA.
e como faço pra por pois estou tentando por no lib mas o jboss ja da erro com o primefaces3.5
sei que nele não preciso por o mojarra pois já vem por padrão, porem estou tentando copilar esse simples index.xhtml e não aparece o panel..

<!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"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets"> 

	<h:head>JSF</h:head> 
	<h:body> 
		<h:panelGrid title="Teste">
			<h:button value="Teste"></h:button>
		</h:panelGrid>		
	</h:body> 
	</html>

Agradeço desde já.

16 Respostas

T

o panelGrid do jsf core tem as bordas transparentes por padrão, diferente do primefaces as bordas são pretas por padrão.
Ou seja, se vc vê o “teste” ele está ali;

R

Qual versão do mojarra? Aí que está a pegadinha. O PrimeFaces 3.5 é compatível com JSF 2

R

Jboss ja vem com o morraja por padrão…

Agora esta dando o seguinte erro:

08:46:58,390 INFO [TomcatDeployment] deploy, ctxPath=/admin-console
08:46:58,500 INFO [config] Initializing Mojarra (1.2_12-b01-FCS) for context '/admin-console’
08:47:01,046 INFO [TomcatDeployment] deploy, ctxPath=/
08:47:01,421 INFO [TomcatDeployment] deploy, ctxPath=/Teste1
08:47:01,484 INFO [config] Initializing Mojarra (1.2_12-b01-FCS) for context '/Teste1’
08:47:01,687 ERROR [[/Teste1]] Exception sending context initialized event to listener instance of class org.jboss.web.jsf.integration.config.JBossJSFConfigureListener
com.sun.faces.config.ConfigurationException: CONFIGURATION FAILED!
Source Document: vfszip:/C:/jboss-5.1.0.GA/server/default/deploy/Teste1.war/WEB-INF/lib/primefaces-2.2.1.jar/META-INF/faces-config.xml
Cause: Class ‘org.primefaces.component.autocomplete.AutoCompleteRenderer’ is missing a runtime dependency: java.lang.NoClassDefFoundError: javax/faces/component/behavior/ClientBehaviorHolder
at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:213)

R

Obrigado por responder…

O jboss ja vem com o morraja padrão dentro dele…

ta dando erro com o prime faces.
segue o erro:

08:46:58,390 INFO [TomcatDeployment] deploy, ctxPath=/admin-console
08:46:58,500 INFO [config] Initializing Mojarra (1.2_12-b01-FCS) for context '/admin-console’
08:47:01,046 INFO [TomcatDeployment] deploy, ctxPath=/
08:47:01,421 INFO [TomcatDeployment] deploy, ctxPath=/Teste1
08:47:01,484 INFO [config] Initializing Mojarra (1.2_12-b01-FCS) for context '/Teste1’
08:47:01,687 ERROR [[/Teste1]] Exception sending context initialized event to listener instance of class org.jboss.web.jsf.integration.config.JBossJSFConfigureListener
com.sun.faces.config.ConfigurationException: CONFIGURATION FAILED!
Source Document: vfszip:/C:/jboss-5.1.0.GA/server/default/deploy/Teste1.war/WEB-INF/lib/primefaces-2.2.1.jar/META-INF/faces-config.xml
Cause: Class ‘org.primefaces.component.autocomplete.AutoCompleteRenderer’ is missing a runtime dependency: java.lang.NoClassDefFoundError: javax/faces/component/behavior/ClientBehaviorHolder
at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:213)

R

Eu sei que vem, amigo. Mas repito a minha pergunta: Qual versão do Mojarra?

R

Vamos analisar o seu erro.

Você diz que o erro é do PrimeFaces, quando na verdade o PrimeFaces faz referência a uma classe chamada ClientBehaviorHolder, e se você olhar no link vai ver que essa classe existe desde a versão 2.0

Portanto se a versão do Mojarra que vem junto com o seu JBoss for inferior à dita acima, você encontrou o problema.

R

Rodrigo obrigado por ajudar.
estou baixando a versão 2.0.10 e vou substituir essa libs…

volto para dar o feedback.

R

Rodrigo Sasaki era exatamente isso.

Obrigado por responder...

porem o código abaixo ainda não funciona:

<?xml version="1.0" encoding="UTF-8" ?>
<!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:p="http://primefaces.org/ui">
  <h:head>
        <title>Hello JSF!</title>
    </h:head>
    <h:body>
       <p:panel header="Teste" style="width:50%">
            <p:button value="Teste"/>
            
            <p:colorPicker></p:colorPicker>
        </p:panel>
    </h:body>
</html>

Só aparece o titulo.. se puder me da mais essa força eu ficarei te devendo duas.. :]

R

Nesse caso já não sei dizer. o web.xml e faces-config.xml estão configurados corretamente?

R
faces-config
<?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_1.xsd"
    version="2.1">

</faces-config>

web.xml

<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_2_5.xsd" 
		version="2.5">
  <display-name>tutorialWeb</display-name>
   
  <welcome-file-list>
    <welcome-file>index.jsf</welcome-file>
    <welcome-file>index.xhtml</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>*.jsf</url-pattern>
  </servlet-mapping>
   
</web-app>

Agradeço desde já pela sua paciência.

R

Bom, tudo parece correto. O único detalhe é que você pode usar a versão 3.0 no seu web.xml.

Uma coisa pra se atentar é como você acessa a página. Você mapeou sua Servlet do JSF para o pattern *.jsf<servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>*.jsf</url-pattern> </servlet-mapping> Portanto precisa acessar a pagina dessa maneira.

Vamos supor que sua página se chama index.xhtml, e você a acessa assim:

http://localhost:8080/meu-webapp/index[color=red].xhtml[/color] ou simplesmente http://localhost:8080/meu-webapp/

E nada aparece, porque a Servlet do JSF não está mapeada para tratar essa URL, agora se acessar assim:

http://localhost:8080/meu-webapp/index[color=red].jsf[/color]

Tudo deve aparecer corretamente

R

Cara é exatamente isso…

você pode me indicar algum link pratico que mostre como mapear?

Bom mas já vou procurando por aqui…

Muito obrigado Rodrigo…
Você foi de grande ajuda…

R

Eu sempre acho mais prático mapear direto pra *.xhtml, funciona melhor pra mim. <servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>*.xhtml</url-pattern> </servlet-mapping>

R

Rodrigo Sasaki Muito obrigado.

Você tirou 100% das minhas duvidas

T+

R

Sem problemas. :slight_smile:

Estamos aqui para isso

R

Estou com mais uma divida…
Agora estou usando maven, e aconteceu a mesma coisa que o código não da erro mas não aparece o panel e nem o botão do codigo a seguir.

<!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"
	xmlns:p="http://primefaces.org/ui">

<h:head>
	<title>Teste</title>
</h:head>
<h:body>
 		#{hello.message}
 		
       <p:panel header="Teste" style="width:50%" visible="true">
		<p:button value="Teste" />
	</p:panel>
</h:body>
</html>

o hello word aparece como deviria pegando do bean… mas os componentes não aparece…

e coloquei as seguintes dependência no maven.

<repositories>
		<repository>
			<id>prime-repo</id>
			<name>PrimeFaces Maven Repository</name>
			<url>http://repository.primefaces.org</url>
			<layout>default</layout>
		</repository>
	</repositories>

	<dependencies>
		<dependency>
			<groupId>org.glassfish</groupId>
			<artifactId>javax.faces</artifactId>
			<version>2.0.10</version>
		</dependency>
		
		<dependency>
			<groupId>org.primefaces</groupId>
			<artifactId>primefaces</artifactId>
			<version>3.5</version>
		</dependency>

	</dependencies>

Fico no aguardo e já agradeço.

Criado 27 de maio de 2013
Ultima resposta 8 de jun. de 2013
Respostas 16
Participantes 3