RichFaces 4 + JSF2

4 respostas
bestlinux

Pessoal,

Boa Noite.

Estou precisando de uma ajuda. Os componentes do RichFaces estão carregando tudo errado nas paginas.

Estou utilizando a seguinte estrutura:

template.xhtml:

<?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:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core">
<h:head>
	<title><h:outputText value="Rede Midia" /></title>
</h:head>
<h:body>
	<table width="100%" cellpadding="0" cellspacing="5">
		<tr style="height: 100%; vertical-align:top">
			<td colspan="2">
			<ui:insert name="header">
				<ui:include src="header.xhtml" />
			</ui:insert>
			</td>
		</tr>
		<tr style="height:100%; vertical-align:top">
			<td id="menu" width="200px">
			<ui:insert name="menu">
				<ui:include src="menu.xhtml" />
			</ui:insert>
			</td>
			<td id="content">
				<ui:insert name="content">
				</ui:insert>
			</td>
		</tr>
		<tr style="height: 100%; vertical-align:center">
			<td colspan="2">
			<ui:insert name="footer">
				<ui:include src="footer.xhtml" />
			</ui:insert>
			</td>
		</tr>	
	</table>
</h:body>
</html>

usuario.xhtml

<?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:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:a4j="http://richfaces.org/a4j"
	xmlns:rich="http://richfaces.org/rich">
	
<ui:composition template="/template/template.xhtml">
	<ui:define name="content">
		<rich:panel header="Cadastrar Usuário">
			<h:form id="usuarioForm">
				<h:panelGrid columns="1">
					<ui:include src="/forms/formUsuario.xhtml"/>
					<f:facet name="footer">
						<a4j:commandButton id="btnSalvar"  action="#{usuarioBean.save}" value="Salvar"/>
							<h:outputText value=""/>
						<a4j:commandButton id="btnCancelar" action="#{usuarioBean.cancelar}" value="Cancelar"/>
					</f:facet>
				</h:panelGrid>						
			</h:form>
		</rich:panel>	
     </ui:define>	
</ui:composition>	
</html>

formUsuario.xhtml

<?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:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:a4j="http://richfaces.org/a4j"
	xmlns:rich="http://richfaces.org/rich">
	
<ui:composition>
	<h:outputLabel for="nome" value="Nome"/>
	<h:inputText id="nome" value="#{usuarioBean.nome}" size="60"></h:inputText>
	
	<h:outputLabel for="login" value="Login"/>
	<h:inputText id="login" value="#{usuarioBean.login}"></h:inputText>

	<h:outputLabel for="senha" value="Senha"/>
	<h:inputText id="senha" value="#{usuarioBean.senha}"></h:inputText>
		
	<h:outputLabel for="email" value="Email"/>
	<h:inputText id="email" value="#{usuarioBean.email}"></h:inputText>
	
	<h:outputLabel for="telefone" value="Telefone"/>
	<h:inputText id="telefone" value="#{usuarioBean.telefone}"></h:inputText>
	
	<h:outputLabel for="perfil" value="Perfil"/>
	<rich:select id="perfil" defaultLabel="Selecione uma opção..." value="#{usuarioBean.perfil}">
		<f:selectItem itemValue="0" itemLabel="Administrador"></f:selectItem>
		<f:selectItem itemValue="1" itemLabel="Gerente"></f:selectItem>
		<f:selectItem itemValue="2" itemLabel="Usuário"></f:selectItem>
	</rich:select>
	
	<h:outputLabel for="status" value="Status"/>
	<rich:select id="status" defaultLabel="Selecione uma opção..." value="#{usuarioBean.status}">
		<f:selectItem itemValue="0" itemLabel="Inativo"></f:selectItem>
		<f:selectItem itemValue="1" itemLabel="Ativo"></f:selectItem>
	</rich:select>
	
</ui:composition>
</html>

O problema é: o componente rich:select carrega tudo errado. Apresenta os itens no rodape da página, ou seja, bizzaro.

Porém, se eu acessar a página diretamente:

http://localhost:8080/RedeMidia/cadastros/usuario.jsf

Funciona perfeitamente, porém, se eu começar pelo login, o componente carrega tudo errado.

Alguem já viu isso ??? :roll: :roll:

Vlw !

4 Respostas

fabiozanardi

tente remover a 1 linha:

&lt;?xml version="1.0" encoding="UTF-8"?&gt;
bestlinux

fabiozanardi:
tente remover a 1 linha:

&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;

Mesma coisa amigo =/

bestlinux

Alguma ajuda pessoal ?? :cry: :cry:

bestlinux

Pessoal,

Consegui resolver. Caso alguém tenha o mesmo problema, eu troquei os botões a4j:commandButton por <h:commandButton> do JSF.

Criado 5 de março de 2012
Ultima resposta 16 de mar. de 2012
Respostas 4
Participantes 2