Изменить jsp на кнопку нажмите
У меня есть вопрос.
У меня есть страница 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>
8 ответов
у вас есть несколько вариантов, начну с самого простого:
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.
вы можете сделать эти кнопки отправки, и внутри сервлета вы отправляете форму, чтобы вы могли проверить имя кнопки, которая была нажата, и отобразить соответствующую страницу jsp.
<input type="submit" value="Creazione Nuovo Corso" name="CreateCourse" />
<input type="submit" value="Gestione Autorizzazioni" name="AuthorizationManager" />
внутри TrainerMenu
сервлет if request.getParameter("CreateCourse")
не пуст, затем была нажата первая кнопка, и вы могли бы отобразить соответствующий jsp.
Если все, что вы ищете, это переход на страницу 2 и 3 с первой страницы, замените кнопки элементами привязки, как показано ниже:
<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>
<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>
просто используйте две формы.
в первой форме атрибут действия будет иметь имя второй страницы jdp и Вашей 1-й кнопки. Во второй форме будет 2-я кнопка с атрибутом действия, который дает имя вашей 3-й страницы 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>
самый простой способ сделать это-использовать Java script.
Например, <input type="button" value="load" onclick="window.location='userpage.jsp'" >
он работает с помощью 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) {
}
});
}
<a href="Second_Page.jsp">
<input type="button" value="SecondPageBlahhBlahh" name="SecondPageBlahh Blahh" />
</a>
Это самый простой способ: не нужен javascript