[RESOLVIDO]Problema ao criar <rich:ModalPanel>

11 respostas
rapha.java

Bom dia a todos.
Estou com um problema para criar um modal panel na minha página .jsp, criei a estrutura criei o link para chamar essa Modal, mas o link é mostrado e quando clico ele simplesmente atualiza a página a não mostra a ModaPanel, alguém sabe como resolver isto?
Segue o codigo da minha página para mostrar melhor:

<f:view>
	<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Teste Modal</title>
</head>
<body>
	<h:form id="formModel" prependId="false">
		
		<rich:modalPanel id="modal" minHeight="200" minWidth="450"
			height="200" width="500">
				<f:facet name="header">
					<h:outputText value="Título Model" />
				</f:facet>
				<f:facet name="controls">
					<h:outputLabel value="Fechar [X]" id="hidelink" />
					<rich:componentControl for="modal" attachTo="hidelink"
						operation="hide" event="onclick" />
				</f:facet>
				<h:panelGrid id="grid" columns="2">
					<h:outputLabel value="Insira o texto" />
					<h:inputText size="25" />
				</h:panelGrid>
		</rich:modalPanel>


		<h:commandLink id="linkModal">
			<h:outputText value="Mostra o Panel" />
			<rich:componentControl for="modal" attachTo="linkModal"
				operation="show" event="onclick" />
		</h:commandLink>

	</h:form>
</body>
	</html>
</f:view>

Obrigado!

11 Respostas

rock

Bom dia,

tente utilizar <h:outputLink value="#"> no lugar do <h:commandLink>
ou tente utilizar a4j:form e a4j:commandLink.

funciona :?:

rapha.java

rock:
Bom dia,

tente utilizar <h:outputLink value="#"> no lugar do <h:commandLink>
ou tente utilizar a4j:form e a4j:commandLink.

funciona :?:


Então rock tentei da forma que vc falou e nada continua igual

rock

O que acontece :?:

além do que eu disse antes, tente tirar rich:modalPanel de dentro do seu form.

B
<rich:modalPanel id="modal" minHeight="200" minWidth="450"  
            height="200" width="500">  
                <f:facet name="header">  
                    <h:outputText value="Título Model" />  
                </f:facet>  
                <f:facet name="controls">  
                    <h:outputLabel value="Fechar [X]" id="hidelink" />  
                    <rich:componentControl for="modal" attachTo="hidelink"  
                        operation="hide" event="onclick" />  
                </f:facet>  
                <h:panelGrid id="grid" columns="2">  
                    <h:outputLabel value="Insira o texto" />  
                    <h:inputText size="25" />  
                </h:panelGrid>  
   </rich:modalPanel>
<h:form id="formModel" prependId="false">  
        <h:commandLink id="linkModal">  
            <h:outputText value="Mostra o Panel" />  
            <rich:componentControl for="modal" attachTo="linkModal" operation="show" event="onclick" />
        </h:commandLink>
</h:form>

Deixa o comandlink dentro do form e tira o modal painel de dentro dele…

rapha.java
rock:
O que acontece :?:

além do que eu disse antes, tente tirar de dentro do seu form.


Já tirei do form:

<h:form id="formModel" prependId="false">
		<a4j:commandLink reRender="modal" value="Novo"
			oncomplete="#{rich:component('modal')}.show()">
		</a4j:commandLink>
		<h:outputText value="Mostra o Panel" />
		<rich:componentControl for="modal" attachTo="linkModal"
			operation="show" event="onclick" />
	</h:form>

	<rich:modalPanel id="modal" minHeight="200" minWidth="450" height="200"
		width="500">
		<h:form>......</h:form>
A página simplesmente continua, como se tivesse sido atualizada e aparece o "#" no final do endereco, apenas isso !
B

Tenta assim…

<a4j:form id=“formModel”>

<a4j:commandLink id=“linkModal” value=“Mostra o Panel”>

<rich:componentControl for=“modal” attachTo=“linkModal” operation=“show” event=“onclick” />

</a4j:commandLink>

</a4j:form>
rapha.java
blaithe:
Tenta assim...






Tentei dessa forma e não foi! Tentei com o rerender e também não foi!
Aqui esta a página inteira:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
	pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://richfaces.org/rich" prefix="rich"%>
<%@ taglib uri="http://richfaces.org/a4j" prefix="a4j"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<f:view>
	<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Teste Modal</title>
</head>
<body>
	<a4j:form id="formModel">
		<a4j:commandLink id="linkModal" value="Mostra o Panel"
			reRender="modal">
			<rich:componentControl for="modal" attachTo="linkModal"
				operation="show" event="onclick" />
		</a4j:commandLink>
	</a4j:form>

	<rich:modalPanel id="modal" minHeight="200" minWidth="450" height="200"
		width="500">
		<a4j:form>
			<f:facet name="header">
				<h:outputText value="Título Model" />
			</f:facet>
			<f:facet name="controls">
				<h:outputLabel value="Fechar [X]" id="hidelink" />
				<rich:componentControl for="modal" attachTo="hidelink"
					operation="hide" event="onclick" />
			</f:facet>

			<h:panelGrid id="grid" columns="2">
				<h:outputLabel value="Insira o texto" />
				<h:inputText size="25" />
			</h:panelGrid>
		</a4j:form>
	</rich:modalPanel>

</body>
	</html>
</f:view>
B
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"  
    pageEncoding="ISO-8859-1"%>  
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>  
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>  
<%@ taglib uri="http://richfaces.org/rich" prefix="rich"%>  
<%@ taglib uri="http://richfaces.org/a4j" prefix="a4j"%>  
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  

<html>  
<head>  
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">  
<title>Teste Modal</title>  
</head>  
<body>
   <f:view>    

    <a4j:form id="formModel">  
        <a4j:commandLink id="linkModal" value="Mostra o Panel">  //não tem que ter rerender
            <rich:componentControl for="modal" attachTo="linkModal" event="onclick" operation="show" />  
        </a4j:commandLink>  
    </a4j:form>  
  
    <rich:modalPanel id="modal" resizeable="false" height="200"  width="500">          
            <f:facet name="header">  
                <h:outputText value="Título Model" />  
            </f:facet>  

      <a4j:form>  
            <f:facet name="controls">  
                <h:outputLabel value="Fechar [X]" id="hidelink" />  
                <rich:componentControl for="modal" attachTo="hidelink"  
                    operation="hide" event="onclick" />  
            </f:facet>  
  
            <h:panelGrid id="grid" columns="2">  
                <h:outputLabel value="Insira o texto" />  
                <h:inputText size="25" />  
            </h:panelGrid> 
 
        </a4j:form>  
    </rich:modalPanel>  
  
       </f:view>  
   </body>  
</html>

O meu assim funciona...

rock

rapha.java,

quando precisares utilizar o reRender no modal, utilize o evento oncomplete para fazer o show do modal. Dessa forma o modal será aberto após o reRender (no onclick ele irá abrir a modal antes do reRender e logo após ela será ‘reRenderizada’ novamente fechada).

deves conseguir dessa forma ou como o blaithe comentou :!:

rapha.java

rock:
rapha.java,

quando precisares utilizar o reRender no modal, utilize o evento oncomplete para fazer o show do modal. Dessa forma o modal será aberto após o reRender (no onclick ele irá abrir a modal antes do reRender e logo após ela será ‘reRenderizada’ novamente fechada).

deves conseguir dessa forma ou como o blaithe comentou :!:


Tentei das duas formas e não funcionou !!! :shock: :cry:

rapha.java

rapha.java:
rock:
rapha.java,

quando precisares utilizar o reRender no modal, utilize o evento oncomplete para fazer o show do modal. Dessa forma o modal será aberto após o reRender (no onclick ele irá abrir a modal antes do reRender e logo após ela será ‘reRenderizada’ novamente fechada).

deves conseguir dessa forma ou como o blaithe comentou :!:


Tentei das duas formas e não funcionou !!! :shock: :cry:

Consegui resolver, eu estava esquecendo de configurar o richfaces no web.xml, no site do richfaces já tem a configuração, quem quiser e só digitar no google “richfaces web.xml” que ja vai aparecer

Criado 18 de agosto de 2011
Ultima resposta 24 de ago. de 2011
Respostas 11
Participantes 3