web-dev-qa-db-fra.com

Changer jsp sur le bouton

J'ai une question.

J'ai 3 pages jsp . Le premier est un menu avec 2 boutons . Lorsque je clique sur le premier bouton, je veux ouvrir la deuxième page jsp . troisième page jsp.

Pouvez-vous m'aider? Je dois utiliser une servlet (ce n'est pas un problème, je le sais)?

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

Vous avez plusieurs options, je vais commencer par la plus facile:

1- Changez les boutons d’entrée en liens, vous pouvez les styler avec css pour qu’ils ressemblent à des boutons:

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

au lieu de 

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

2- Utilisez javascript pour changer l'action du formulaire en fonction du bouton sur lequel vous cliquez:

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

3- Utilisez un servlet ou un JSP pour gérer la demande et rediriger ou transférer vers la page JSP appropriée.

17
Abdullah Jibaly

Vous pouvez faire ces boutons d'envoi et à l'intérieur du servlet vous soumettez le formulaire, vous pouvez tester le nom du bouton sur lequel vous avez appuyé et afficher la page jsp correspondante.

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

Dans la servlet TrainerMenu si request.getParameter("CreateCourse") n'est pas vide, le premier bouton a été cliqué et vous pouvez générer le jsp correspondant.

5
Darin Dimitrov

Si vous ne recherchez que les pages 2 et 3 de la première page, remplacez les boutons par des éléments d'ancrage comme ci-dessous:

<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, pour une raison quelconque, vous devez utiliser des boutons, essayez ceci:

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

Il suffit d'utiliser deux formes.

Dans le premier formulaire, l'attribut action aura le nom de la deuxième page jdp et de votre premier bouton. Dans la seconde forme, il y aura un 2ème bouton avec l'attribut action qui donnera le nom de votre 3ème page jsp.

Ce sera comme ça:

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

Pour ce faire, le plus simple consiste à utiliser Javascript .Par exemple, <input type="button" value="load" onclick="window.location='userpage.jsp'" > 

1
Nandhini

Cela fonctionne en utilisant ajax . Le jsp s'affiche ensuite dans l'iframe renvoyé par le contrôleur en réponse à request.

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) {
  }
  });
}
0
Renu Singh Yadav