ICEfaces e navegação

Boa tarde pessoal,

Estou usando o ICEfaces para uma aplicação pessoal, e estou tendo uns probleminhas. Algumas coisas já resolvi, mas tem uma que ainda persiste.

Criei um projeto com ICEfaces e Facelets. Minha index.jsp é a seguinte:

<html>
    <head>
    </head>
    <body>
        <jsp:forward page="login.iface" />
    </body>
</html>

Ela encaminha a página login.iface. A parte relevante dessa página vai abaixo (simplificado):

            <ice:form>
                Login
                ...
                <ice:commandButton value="ok" action="inicial" />
            </ice:form>

A action no ice:commandButton está mapeada da seguinte forma:

    <navigation-rule>
        <navigation-case>
            <from-outcome>inicial</from-outcome>
            <to-view-id>/paginas/inicial.iface</to-view-id>
        </navigation-case>
    </navigation-rule>

A página que aparece quando dou um submit possui um ice:panelTabSet e um ice:menuBar, e funciona bem, mas não mostra os estilos e as imagens que vem com o ICEfaces! Depois que a página é exibida dou um refresh e as imagens e estilos aparecem! Estranho não?

Alguém sabe do pode se tratar?

Nunca passei por esse problema…

Vou tentar reproduzir isso depois…

outra coisa, qual versão que você está usando? DR#2?

seguinte, navegação com icefaces só funciona com redirect :smiley:
pelo menos foi a unica coisa que consegui fazer :smiley:

Estou usando a versão 1.5.3.

Você está querendo dizer ir de uma página a outra mostrando a url na barra de endereços do browser? Se for isso, sei fazer. Mas parece que cheguei a uma solução…

Olha só, peguei o fonte gerado da app component-showcase, mais especificamente a parte do menu. Se parece com isso:

<img class="iceSubMenuRowImage" src="././xmlhttp/css/xp/css-images/menu_blank_icon.gif" ...

Esse “././” no atributo src é muito suspeito. É isso que faz com que eu tenha que dar um refresh na página para ela ser exibida corretamente.
Olhei o código fonte da minha página, e é a mesma coisa. Parece que para os componentes funcionarem direito, a página que os contém precisa estar na pasta raiz da sua aplicação. Por esse raciocínio, coloquei um div oculto na minha página inicial, e dentro dele coloquei um ice:menuBar e pasmem… agora quando eu dou um submit a página é exibida corretamente!!! ahahahahahha!!! Fiz uma espécie de cache das imagens e estilos.

Que bosta esse ICEfaces…

Se alguém tiver mais sugestões, eu aceito! :smiley:

(desenterrando tópico :p)

Comigo aconteceu um problema bem parecido…

Eu criei uma página de login e uma de cadastro. Como a página de cadastro é mais completa, a página inicial eu coloquei a de login e direcionei-a para de cadastro(só para fazer testes…). Mas o estranho é o seguinte:

A página de cadastro possui 3 campos inputText, um botão e 3 labels. Quando há o redirecionamento da login para cadastro, no fonte não aparece todos os inputText e labels, mas na página aparece todos eles. E um script que eu tinha criado em javascript também não aparece. Quando aperto F5, aparece tudo no fonte e usando o redirect também.

Optei pelo redirect :stuck_out_tongue: mas meu objetivo foi falar com esse IceFaces acontecem coisas bem estranhas mesmo.

tive esse tipo de problema… foi resolvido utilizando essa tag redirect conforme codigo abaixo

<navigation-rule>
		<from-view-id>*</from-view-id>
		<navigation-case>
			<from-outcome>Empresa</from-outcome>
			<to-view-id>/Empresa.iface</to-view-id>
			<redirect/>
               </navigation-case>
</navigation-rule>