2011-01-03 29 views
9

Tengo una pregunta.Cambiar jsp en el botón haga clic en

Tengo 3 páginas jsp. El primero es un menú con 2 botones. Cuando hago clic en el primer botón, quiero abrir la segunda página jsp. Cuando hago clic en el segundo botón, quiero abrir la tercera página jsp.

¿Me puede ayudar? Debo usar un servlet (no es un problema, lo sé)?

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
    pageEncoding="ISO-8859-1"%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
    "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<title>Insert title here</title> 
</head> 
<body> 
    <form name="TrainerMenu" action="TrainerMenu" method="get"> 

     <h1>Benvenuto in LESSON! Scegli l'operazione da effettuare:</h1> 
     <input type="button" value="Creazione Nuovo Corso" name="CreateCourse" /> 
     <input type="button" value="Gestione Autorizzazioni" 
     name="AuthorizationManager" /> 

    </form> 
</body> 
</html> 

Respuesta

17

usted tiene varias opciones, voy a empezar desde el más sencillo:

1- Cambiar los botones de entrada a los enlaces, puede estilo con css para que se vean como los botones:

<a href="CreateCourse.jsp">Creazione Nuovo Corso</a> 

en lugar de

<input type="button" value="Creazione Nuovo Corso" name="CreateCourse" /> 

2- Uso de JavaScript para cambiar la acción de la forma en función del botón que debe seleccionar:

<input type="button" value="Creazione Nuovo Corso" name="CreateCourse" 
onclick="document.forms[0].action = 'CreateCourse.jsp'; return true;" /> 

3- Utilizar un servlet o JSP para manejar la solicitud y redirigir o reenviar a la página JSP correspondiente.

5

Se podría hacer que los botones de envío y dentro del servlet su presentando los documentos a que podría poner a prueba el nombre de la tecla que fue presionada y hacer que la página JSP correspondiente.

<input type="submit" value="Creazione Nuovo Corso" name="CreateCourse" /> 
<input type="submit" value="Gestione Autorizzazioni" name="AuthorizationManager" /> 

Dentro de la TrainerMenu servlet si request.getParameter("CreateCourse") no está vacío y luego se hace clic en el primer botón y usted podría hacer que el JSP correspondiente.

2

Si todo lo que buscas es la navegación a la página 2 y 3 desde la primera página, vuelva a colocar los botones con los elementos de anclaje de la siguiente manera:

<form name="TrainerMenu" action="TrainerMenu" method="get"> 

<h1>Benvenuto in LESSON! Scegli l'operazione da effettuare:</h1> 
<a href="Page2.jsp" id="CreateCourse" >Creazione Nuovo Corso</a>&nbsp; 
<a href="Page3.jsp" id="AuthorizationManager">Gestione Autorizzazioni</a> 
<input type="button" value="" name="AuthorizationManager" /> 
</form> 

Si por alguna razón es necesario utilizar los botones, intente esto:

<form name="TrainerMenu" action="TrainerMenu" method="get"> 

    <h1>Benvenuto in LESSON! Scegli l'operazione da effettuare:</h1> 
    <input type="button" value="Creazione Nuovo Corso" name="CreateCourse" 
    onclick="openPage('Page2.jsp')"/> 
    <input type="button" value="Gestione Autorizzazioni" name="AuthorizationManager" 
    onclick="openPage('Page3.jsp')" /> 

</form> 
<script type="text/javascript"> 
function openPage(pageURL) 
{ 
window.location.href = pageURL; 
} 
</script> 
1

Solo tiene que utilizar dos formularios.

En el primer atributo de acción de forma tendrá el nombre de la segunda página jdp y su primer botón. En la segunda forma, habrá un segundo botón con un atributo de acción que dará el nombre de su tercera página de jsp.

Será así:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<title>Insert title here</title> 
</head> 
<body> 
    <form name="main1" method="get" action="2nd.jsp"> 
     <input type="submit" name="ter" value="LOGOUT" > 
    </form> 
    <DIV ALIGN="left"><form name="main0" action="3rd.jsp" method="get"> 
     <input type="submit" value="FEEDBACK"> 
    </form></DIV> 
</body> 
</html> 
1

La forma más sencilla que puede hacer esto es usar java script. Por ejemplo, <input type="button" value="load" onclick="window.location='userpage.jsp'" >

-1
<a href="Second_Page.jsp"> 
<input type="button" value="SecondPageBlahhBlahh" name="SecondPageBlahh Blahh" /> 
</a> 

esta es una manera más simple: no necesita tener Javascript

+0

https://validator.w3.org no está contento. – BalusC

0

Funciona con ajax. El jsp luego muestra en iframe devuelto por el controlador en respuesta a la solicitud.

function openPage() { 
    jQuery.ajax({ 
    type : 'POST', 
    data : jQuery(this).serialize(), 
    url : '<%=request.getContextPath()%>/post_action', 
    success : function(data, textStatus) { 
    jQuery('#iframeId').contents().find('body').append(data); 
    }, 
    error : function(XMLHttpRequest, textStatus, errorThrown) { 
    } 
    }); 
} 
Cuestiones relacionadas