2011-01-03 16 views
9

Mam pytanie.Zmień jsp na przycisku kliknij

Mam 3 strony jsp. Pierwsza to menu z 2 przyciskami. Po kliknięciu pierwszego przycisku chcę otworzyć drugą stronę JSP. Po kliknięciu drugiego przycisku chcę otworzyć trzecią stronę JSP.

Czy możesz mi pomóc? Muszę użyć serwletu (to nie problem, ja to wiem)?

<%@ 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> 

Odpowiedz

17

masz kilka opcji, zacznę od najprostszy:

1- Zmień przyciski wejściowe do linków, można projektować je z CSS, tak że wyglądają jak przyciski:

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

zamiast

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

2- użytkowania javascript, aby zmienić działanie postaci w zależności od przycisku, kliknij:

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

3- Użyj serwletu lub JSP do obsługi żądanie i przekieruj lub prześlij na odpowiednią stronę JSP.

5

Można zrobić te przyciski przesyłania i wewnątrz serwletu swój przesyłasz formularz można przetestować nazwę przycisku, który został wciśnięty i nadania odpowiedniej strony JSP.

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

Wewnątrz TrainerMenu serwletu jeśli request.getParameter("CreateCourse") nie jest pusta, a następnie pierwszy przycisk został kliknięty i można renderować odpowiedni JSP.

2

Jeśli wszystko czego szukasz jest nawigacja na stronie 2 i 3 z pierwszej strony, wymienić przyciski z elementów kotwiących, jak poniżej:

<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> 

Jeśli z jakiegoś powodu trzeba użyć przycisków, spróbuj tego:

<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

Wystarczy użyć dwóch formularzy.

W pierwszej formie atrybut akcji będzie miał nazwę drugiej strony jdp i pierwszego przycisku. W drugiej formie pojawi się drugi przycisk z atrybutem akcji, który podaje nazwę twojej trzeciej strony jsp.

To będzie tak:

<%@ 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

Najprościej można to zrobić jest użycie skryptu Java. Na przykład <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> 

jest to najprostszy sposób: nie trzeba javascript

+0

https://validator.w3.org nie jest zadowolony. – BalusC

0

Działa przy użyciu ajax. Jsp następnie wyświetla w elemencie iframe zwracanym przez kontroler w odpowiedzi na żądanie.

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) { 
    } 
    }); 
} 
Powiązane problemy