Изменить JSP по нажатию кнопки - PullRequest
9 голосов
/ 03 января 2011

У меня есть вопрос.

У меня есть 3 страницы JSP. Первое меню с 2 кнопками. Когда я нажимаю первую кнопку, я хочу открыть вторую страницу JSP. Когда я нажимаю вторую кнопку, я хочу открыть третью страницу JSP.

Вы можете мне помочь? Я должен использовать сервлет (это не проблема, я знаю это)?

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

Ответы [ 6 ]

18 голосов
/ 03 января 2011

У вас есть несколько вариантов, я начну с самого простого:

1- Измените кнопки ввода на ссылки, вы можете оформить их с помощью css, чтобы они выглядели как кнопки:

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

вместо

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

2- Используйте javascript, чтобы изменить действие формы в зависимости от нажатия кнопки:

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

3- Используйте сервлет или JSP для обработки запроса и перенаправления или перенаправления на соответствующую страницу JSP.

5 голосов
/ 03 января 2011

Вы можете сделать эти кнопки отправки, и внутри сервлета вы отправляете форму, вы можете проверить название нажатой кнопки и отобразить соответствующую страницу jsp.

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

Внутри TrainerMenu servlet, если request.getParameter("CreateCourse") не пусто, тогда была нажата первая кнопка, и вы можете отобразить соответствующий jsp.

2 голосов
/ 03 января 2011

Если все, что вам нужно, это перейти на страницу 2 и 3 со страницы 1, замените кнопки элементами привязки, как показано ниже:

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

Если по какой-то причине вам нужно использовать кнопки, попробуйте это:

<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 голос
/ 10 марта 2014

Самый простой способ сделать это - использовать скрипт Java.Например, <input type="button" value="load" onclick="window.location='userpage.jsp'" >

1 голос
/ 12 апреля 2012

Просто используйте две формы.

В первой форме атрибут действия будет иметь имя второй страницы jdp и вашу первую кнопку. Во второй форме будет вторая кнопка с атрибутом действия, который задает имя вашей третьей jsp-страницы.

Это будет так:

<%@ 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>
0 голосов
/ 10 июня 2016

Работает с использованием ajax.Затем jsp отображается в iframe, возвращаемом контроллером в ответ на запрос.

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) {
  }
  });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...