como se hace que servelet haga forwars a diferentes JSP, dependiendo de que JSP lo llame?

Daniel
05 de Mayo del 2004
Recien puse el mismo tema pero mejor le cambio el asunto porque la verdad es que no se entiende mucho.....
Hola; otra ves muchas gracias por sus ayudas y consejos. :-)
Recien estoy empezando en JSP y servlets, por lo cual mi duda puede parecer muy inocente.
Mi consulta ahora es la siguiente:
- Tengo un servlet que se conecta a la base de datos para realizar cierta consulta, y luego devuelve los valores a una pagina JSP. Mi problema es saber como hacer para que valla a distintas paginas de resultados (JSP) dependiendo de quien la llamo. Estas paginas de resultados son distintas a la que llamo al servlet para realizar la consulta.
A ver si me explico mejor, la cosa es asi:
-Hice un Servlet que realiza consultas, y un Jsp para busquedas, el cual llama al servlet y le pasa los parametros de busqueda a este servlet que luego de realizar el query correspondiente, envia los resultados a otro JSP distinto para que pinte estos datos en una tabla. Esto lo hago de la siguiente manera:

request.setAttribute("crs",crs);
RequestDispatcher dispatcher = getServletContext ().getRequestDispatcher("/MostarDatos.jsp");
dispatcher.forward(request, response);

Pero este servelt, tambien lo quiero reusar para otras paginas JSP que lo necesiten, como por ejemplo una que realiza las modificaciones de cierto cliente, el cual tiene que buscar. Por lo una ves encontrados los datos los tiene que mostrar en una JSP que muestre los datos del cliente que se busca solamente.
Mi pregunta es como hacer para que el servlet sepa a que pagina JSP debe hacer el forward. ¿Hay alguna forma de que el servlet sepa de quien viene la peticion?

Les agradeceria mucho su ayuda.....

Gracias..... ;-)

idrap
05 de Mayo del 2004
Y quizá sin Struts podrías hacer lo mismo. Dependiendo del parámetro que recibas, haces un forward o otro.

imaz
05 de Mayo del 2004
Lo mejor para eso es usar el framework Struts.

Podrias hacer recoger un valor del request o la session, como tu prefieras eso, que especifique que tipo de accion deseas hacer y segun la accion cargar un jsp u otro.
ejem:

String accion=request.getAttribute("accion");
o
String accion=request.getParameter("accion");

if (accion...)
{
request.setAttribute("crs",crs);
RequestDispatcher dispatcher = getServletContext ().getRequestDispatcher("/MostarDatos.jsp");
dispatcher.forward(request, response);
}
else if (accion...)
{
....
}

Te puede servir?

agur.