Frames com JSF sem JavaScript

8 respostas
ceduardo.roque

Olá pessoal,

Existe alguma forma de eu interagir com frames diferentes utilizando o JSF? :?:
Pergunto isso porque estou tentando fazer o seguinte:

Tenho uma página com dois frames:

<frameset cols="50%, 50%" rows="*" framespacing="0" frameborder="no" border="0" topmargin="0" leftmargin="0" marginheight="0" marginwidth="0">
	<frame src="index.faces" name="leftFrame" frameborder="no" noresize="noresize" marginwidth="0" marginheight="0" title="header"
			border="0" topmargin="0" leftmargin="0" scrolling="no">
	<frame src="index2.faces" name="rightFrame" framespacing="0" frameborder="0" border="0" marginwidth="0"
			marginheight="0" title="bottom" scrolling="auto">
</frameset>

A página 1 possui um menu (que é em formato de hyperlink). A pagina 2 muda de acordo com o que eu clico na página 1. Utilizando Java Script, eu poderia colocar:

parent.<MEU FRAME>.location = 'novaPagina.faces';

Entretanto, acredito que deva haver alguma forma mais eficiente para resolver isso… utilizando a própria estrutura do JSF. :frowning:

Talvez, na pagina 1, eu chame um método do meu Managed Bean que consiga interagir com diferentes Frames/Managed Beans/Componentes sem interagir com JavaScript.

Como voces que mexem com WEB desenvolvem isso?

Obrigado!

Carlos Eduardo

8 Respostas

Naruffy

Bom eu não tenho certeza, mas se eu não me engano existe uma tag include no JSF que funcionar parecido como frame

willcrisis

Já tentou usar a propriedade “target” do hyperlink?

É só definir ela com o nome do frame de destino.

Algo mais ou menos assim:

<webuijsf:hyperlink binding="#{pages$Frm1.lnkAviso}" id="lnkAviso"
                            style="color: red; font-size: 14px; left: 72px; top: 48px; position: absolute" target="rightFrame"
                            text="Clique aqui" url="Frm2.jsp"/>
ceduardo.roque

Entao…

“Resolvi” em partes utilizando ao invés do <h:commandLink>, usar o <h:outputLiink>… daí lá eu posso colocar no atributo value a página que eu quero referenciar… entretanto, a TAG <h:outputLink> nao possui o atributo action, como em <h:commandoLink>… portanto, através deste componente eu nao posso executar uma ação de servidor ao clicar nele.

Obrigado de qualquer forma.

:frowning:

Carlos Eduardo

lidianycs

Rapaz, procure saber sobre o Facelets, ele te ajudará a fazer isso aí.
Pelo menos eu acho que servirá, utilizo ele pra carregar páginas como conteúdo de uma página principal.

Qualquer coisa dá uma olhada aq:
http://www.devmedia.com.br/articles/viewcomp.asp?comp=5332
8)

ceduardo.roque

Olá!

Você leu meu pensamento… antes de sair do trabalho eu li um pouco sobre isso… e decidi dar uma lidinha agora… pois sabia que poderia me ajudar… e “coincidentemente” você deu a mesma idéia…

Obrigado pela ajuda… moça… vou dar uma lida!

Bjos

ceduardo.roque

lidianycs

Dá uma olhada nesse tópico.
Provavelmente vai te interessar…

:smiley:

http://www.guj.com.br/posts/list/99752.java

ceduardo.roque

Poxa… voce é a salvadora da pátria do facelets… hein…

obrigado mais uma vez!

:wink:

rponte

Não é bom utilizar frames para desenvolvimento web com qualquer framework, muito menos com JSF. Evite-os.
Abraços.

Criado 13 de agosto de 2008
Ultima resposta 17 de ago. de 2008
Respostas 8
Participantes 5