Entre las múltiples razones para odiar Internet Explorer 7 está que por defecto deshabilita las cookies, así que mantener una sesión en Java requiere que siempre hagamos encodeURL o metamos en tags de c:url o html:link todos los vínculos.
Esto está chido cuando usamos servlets o jsp's pero, ¿qué pasa con los HTML's estáticos? Por ejemplo en OpenCms, en un artículo o un contenido tipo news.
La solución más sencilla que encontré es tomar un archivo de fuente javascript generado mediante JSP o bien embeder en la página principal del template, una variable javascript que almacene el sessionId. Por ejemplo:
<script type="text/javascript">
var jsess="<%=session.getId()%>";
</script>
Y después metemos esto con JavaScript a nuestros links, ejemplo:
<a href="http://www.blogger.com/shalala/" id="coso">Ir a shalala</a>
<script type="text/javascript">
var miLink = document.getElementById('coso');
miLink.href = miLink.href + ';jsessionid=' + jsess;
</script>
Obviamente se puede jugar con esto, por ejemplo:
<script type="text/javascript">
var links = document.getElementsByTagName("a");
for(i = 0; i < links.length; i++)
links[i].href = links[i].href + ";jsessionid=" + jsess;
</script>
Aunque esto no lo recomiendo mucho porque nunca sabemos si se pondrán links externos, y en ese caso poner un jsessionid puede causarle problemas a otros sistemas.
Espero que encuentren esta información de utilidad. Saludos,
Hola man, gracias por el post, pero me intereso más en estos momentos por lo que mencionas al principio, es decir, necesito saber cómo pasar un valor(una variable) como un id de un jsp a otro jsp para realizar posteriormente una consulta en la base de datos; más exactamente necesito que después de loggearse un usario del tipo profesor, se muestren todos los cursos que tiene asignados únicamente ese profesor ( lo cual lo lograría verificando el id del profesor al hacer la consulta en la base de datos).
ResponderEliminarEn espera de tu respuesta, muchas gracias de antemano.
Saludos, tu blog esta muy bien, gracias por éste post
ResponderEliminarCreo ke necesito tu ayuda, necesito implmentar un caledar organizer en mi sitio pero no me anda y también ponerle I18n para ke los componentes se carguen en francés, pero no tengo ni idea, me puedes orientar porfavor?
espero tu respuesta, muchas gracias de antemano
mi proyecto es JEE, utilizo JPA y EJB3 con base de datos en Mysqlserver5, para la parte gráfica uso richfaces
Buenos días Michael.
ResponderEliminarNo termino de entender el problema. A reserva de que pienses que estoy menospreciando la pregunta (en caso de que eso suceda te pido una disculpa), ¿no puedes pasar el id del profesor en el Query String de la URL para sacarlo con un request.getParameter() ?
Saludos,
Respecto a tu proyecto y la localización, te recomiendo echarle un ojo a Struts =) .
ResponderEliminar