[Struts] Ao retornar erro pelo validate css perde a referência

3 respostas
AntonioMafiotecano

Boa tarde, estou desenvolvendo uma aplicação utilizando o strutus 1.2.9 e ao utilizar o validate o site “perde” as referências do CSS.

Acontece da seguinte maneira:

O usuário entra na tela index.jps(nesse ponto o css funciona perfeitamente)
O usuário tenta logar, mas o validate acusa erro(senha em branco por exemplo), o struts redireciona o usuário para o index.jsp
O index.jps é carregado corretamente, porém ele aparece sem o css, como se tivesse perdido a referência.

Alguém tem alguma idéia do porquê isso pode estar acontecendo? É alguma propriedade que devo setar no arquivo de configuração do struts?

Coloquei abaixo os trechos de código envolvidos no problema:

struts-config.xml

<action input="/index.jsp" name="LoginUsuarioorActionForm" path="/form/loginUsuarior" scope="request" type="br.com.site.controle.actions.LoginUsuarioAction">
            <forward path="/mostraDados.jsp" name="success" />            
        </action>

index.jsp

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<link href="css/layout.css" rel="stylesheet" type="text/css" />
<link href="css/color.css" rel="stylesheet" type="text/css" />
<link href="css/typography.css" rel="stylesheet" type="text/css" />

</head>

Obrigado

3 Respostas

furutani

Não posso afirmar, mas é bem provavel que seu mapeamento lógico das suas URL não está acompanhando a localização física do seu CSS.
Recomendo que você use nos href o caminho desde a raiz

<link href="/SeuContexto/css/layout.css" rel="stylesheet" type="text/css" />
AntonioMafiotecano

Obrigado Furutani, vou tentar alterar aqui para ver se funciona

AntonioMafiotecano

Consegui solucionar o problema, era a configuracao do struts-config.xml, ficou assim

<action input="/index.jsp" name="LoginUsuarioorActionForm" path="/form/loginUsuarior" scope="request" type="br.com.site.controle.actions.LoginUsuarioAction">  
    <forward path="/mostraDados.jsp" name="success"  redirect="true" />              
</action>

Foi necessário alterar o path do action, e inserir um redirect no forward.

Criado 17 de dezembro de 2008
Ultima resposta 18 de dez. de 2008
Respostas 3
Participantes 2