JSF + RichFaces: ModalPanel aparece sem ser chamada

5 respostas
V

Fala galera! Tudo bem?!

Eu estou achando bom demais que RichFaces finalmente esteja funcionando na minha máquina. A ModalPanel também está funcionando. O problema é que ela está aparecendo assim que eu faço o deployment da aplicação. Tipo, aparece a página original e aparece ela, com aquele aspecto comum de quando ela é chamada. A figura mostra a situação de quando subo a aplicação.

E aqui está o código:

<?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:ui="http://java.sun.com/jsf/facelets"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:c="http://java.sun.com/jstl/core"
      xmlns:a4j="http://richfaces.org/a4j"
	  xmlns:rich="http://richfaces.org/rich">
 
 
 <head>
 	<title>Algo</title>
 </head>
	
    <ui:composition template="./template2.xhtml">
 
       <h:messages globalOnly="true" />       
        <ui:define name="menuAtributo">
        	<ul>
        		<li>Cadastro Teste</li>
        	</ul>
        	
        	
        </ui:define>
        
        <ui:define name="conteudoAtributo">
        
	        
        <div style="overflow:auto; height:300px;">
                
        <!--  Utilizar tabela de dados do JSF para dar aparência para a tela -->
              
        <!-- Coloca SCROLL aqui. -->
        <a4j:form id="formOIRoot">
        
        <h:panelGrid id="painel" columns="2" border="1" cellspacing="0">
        
    	<h:panelGrid id="widget1" columns="1"  cellspacing="0"
    		style="bgcolor: #F0F0F0;">
    
    	<h:outputText id="texto1" value="*País" style="bgcolor: #F0F0F0;"/>
    
       	<h:commandButton id="botaoOI" value="Selecionar" onclick="Richfaces.showModalPanel('selecionaOI',{heigth:200 ,width:300, top:25})" />
        		
		<h:inputText id="inputOI" value="#{OI.valorSelecionadoDaLista}" />
		
		</h:panelGrid>	
		
		<h:inputText id="origemEntidadeOculto" value="EnumTipoEntPais" binding="#{OI.inputEntidadeOrigem}" rendered="false" />
		<h:inputText id="origemAtributoOculto" value="nomePais" binding="#{OI.inputAtributoOrigem}" rendered="false" />
		
		</h:panelGrid>	
		
		</a4j:form>      
        
        </div>
        
        <rich:modalPanel id="selecionaOI" minHeigth="200" minWidth="450" height="200" width="300" zindex="2000" showWhenRendered="true" keepVisualState="true">   
          <f:facet name="header">   
                <h:outputText value="Selecionar OI" />   
            </f:facet>   
            <f:facet name="controls">   
                <h:graphicImage value="/images/modal/close.png" onclick="Richfaces.hideModalPanel('selecionaOI')" />   
            </f:facet>   
            <a4j:form id="formModal" ajaxSubmit="true" reRender="teste">   
                 
                 <h:panelGrid id="painelOI" columns="3" border="1" cellspacing="0">
                 
                 <h:selectOneListbox id="listaPaises" value="#{OI.valorSelecionado}" >
        			<f:selectItems id="itemSelecionado" value="#{Pais.listaPaises}"/>
        		</h:selectOneListbox>
        
        		<a4j:commandButton id="botaoEscolhe" value="Escolhe" action="#{OI.escolhe}" reRender="segundoValor"/>
                
        		<h:inputText id="segundoValor" value="#{OI.valorSelecionadoDaLista}" />      
        
        		<a4j:commandButton id="ok" value="OK" onclick="Richfaces.hideModalPanel('selecionaOI')" reRender="inputOI"/>
        
                 </h:panelGrid>
                 
               </a4j:form>   
        </rich:modalPanel>   
        
                
        </ui:define>
        
        <ui:define name="botoes">
        <center>
        <h:form>
        	  <h:outputText value="TESTE"/>   
        	   
        </h:form>
        </center>
        </ui:define>
      
      	
    </ui:composition>

</html>


5 Respostas

rollei

o atributo showWhenRendered quando setado para true faz o modal ficar aberto por default, deixa falso

V

Fala rollei! Tudo bom?

Já vi vários posts seus aí nos outros tópicos! Você parece ser um participante assíduo né naum?!
hauhauhaua! Obrigado pela sugestão cara! Mas eu fiz a alteração e continuou aparecendo! Eu peguei esse código pronto então tem algumas coisas que não sei bem o que fazem, como este atributo showWhenRendered e o keepVisualState.

Flws!

rollei

estranho era para ter resolvido seu problema, tenta dar um clean no projeto, pode apagar esse atributo se voce quiser o default dele eh ‘false’

esse keepVisualState nao sei direito o que faz, mas olhando lah pelo site da JBboss parece que ele salva o estado visual do modal depois de um submit. Acredito que tipo, se voce aumenta o tamanho do modal e depois abre ele de novo, ele abre com o tamnho que voce deixou, deve ser isso nao tenho certeza

V

Alguém tem solução para este problema! Eu já tentei algumas combinações de atributos, e tals, mas não consegui resolver! Ou aparece sem ser chamada, ou não aparece, ou aparece rapidamente e volta!

thimor

Valdemar Neto:
Fala rollei! Tudo bom?

Já vi vários posts seus aí nos outros tópicos! Você parece ser um participante assíduo né naum?!
hauhauhaua! Obrigado pela sugestão cara! Mas eu fiz a alteração e continuou aparecendo! Eu peguei esse código pronto então tem algumas coisas que não sei bem o que fazem, como este atributo showWhenRendered e o keepVisualState.

Flws!

O showWhenRendered=“true” seria para voce fazer o modal aparecer no momento em que algum atributo mudasse de estado. tipo <rich:modalPanel id="msgsErros" autosized="true" showWhenRendered="#{facesContext.maximumSeverity !=null}" top="100">

se nao vai utilizar pode remover.

Criado 19 de junho de 2009
Ultima resposta 24 de jun. de 2009
Respostas 5
Participantes 3