Estou com um erro estranho que só acontece no IE (mais um motivo para usar o Firefox, mas é difícil de convencer usuários…=/).
É o seguinte, fiz uma aplicação usando Struts e Hibernate… e ela funciona uma beleza no Firefox, mas qdo é rodada no IE, toda vez que eu clico, por exemplo, em um item do menu de minha aplicação, fica falando que a sessão expirou…
Alguém poderia me dar uma idéia de onde pode estar vindo o erro?
tu já tentou configurar o tempo de expiração da tua seção pra -1 pra ver se ela expira?
Os cookies estão habilitados no IE? Caso não, comece a fazer encodeRedirectUrl(“teuAction.do”) nos items do menu também
Ps.: comece a se acostumar… IE é a pior merda que já lançaram, a M$ adora “criar padrões” contra o W3C, um exemplo disso, quando tu for usar ajax, vários métodos funcionam perfeitamente no firefox e no opera, mas no IE… Até CSS é bugado no IE… bom isso fica de discussão pra outro tópico
[quote=decker]Hmm, eu vi mesmo q os erros eram nos cookies…
Então, como eu uso esse encodeRedirect? Na página jsp?
No meu caso, está assim:
<html:link action=“Acao.do” /> (por aí, tá meio grosseiro… hehe)
Eu tenho q realmente usar esse encode? Eu liberei no IE o domínio permitido do servidor onde o site tá hospedado, aí funciona de boa.
Valeu![/quote]
É que assim, o encodeRedirectUrl (encodeUrl) você vai usar quando o browser não suportar cookies, mas isso digamos, é algo de “baixo nível” (comparado com a disponibilidade de frameworks que “ajustam” trabalhos sujos)
Em vez de html:link utilize o <c:url> do JSTL, que, se não me engano, ele já faz tudo automaticamente, ou seja, verifica se o cara suporta cookies (onde não será necesário o encodeURL) ou se não suporta (daí ele vai fazer automaticamente o esquema de, por exemplo, http://localhost:8080/myapplication/myAction.do;jsessionid=DM34mKD##$#*$&!$! etc)