Как изменить ссылки в jsp на кнопки - PullRequest
1 голос
/ 17 февраля 2020

Я столкнулся со следующей проблемой:

<%@ page contentType="text/html;charset=UTF-8" language="java"%>
<html>
<head>
<title>Lab2</title>
</head>
<body>
    <p>
    <form>
        Period: <input type="number" name="period" size="50"> <br>
        Faculty: <input type="text" name="faculty" size="50"> <br>
        <a href="${pageContext.request.contextPath}/calculatePaymentForSeveralSemesters?value=<%=request.getParameter("period")%>&faculty=<%=request.getParameter("faculty")%>">Calculate payment for several semesters</a> 
        <a href="${pageContext.request.contextPath}/showTwoSmallestFaculties">Show two smallest faculties</a> 
        <input type="submit">
    </form>
    </p>
</body>
</html>

Теперь я должен ввести данные на входы, затем нажать Отправить, и только тогда я могу нажать на ссылку. Но есть ли способ перейти на другие страницы, нажав на кнопку и передав параметры на другие страницы? Буду признателен за любую помощь, заранее спасибо!

1 Ответ

0 голосов
/ 17 февраля 2020

Но есть ли способ перейти на другие страницы, нажав на кнопку и передав параметры на другие страницы?

Да. Вы можете просто передать значения как входные данные в форме:

   <form method="get" action="${pageContext.request.contextPath}/calculatePaymentForSeveralSemesters">
        Period: <input type="number" name="period" value="${period}" size="50"> <br>
        Faculty: <input type="text" name="faculty" value="${faculty} size="50"> <br>
        <button type="submit">Calculate payment for several semesters</button> 
    </form>


   <form method="get"  action="${pageContext.request.contextPath}/showTwoSmallestFaculties">
        Period: <input type="number" name="period" value="${period}" size="50"> <br>
        Faculty: <input type="text" name="faculty" value="${faculty} size="50"> <br>
        <button type="submit">Show two smallest faculties</button> 
    </form>

Вы также можете просто сделать это с javascript ...

    Period: <input id="period" type="number" name="period" value="${period}" size="50"> <br>
    Faculty: <input id="faculty" type="text" name="faculty" value="${faculty} size="50"> <br>
   <button type="submit" onclick="showFaculties">Show two smallest faculties</button> 
   <button type="submit" onclick="calculatepayments">Calculate payment for several semesters</button> 

<script>

var period = document.getElementById("period").value;
var faculty = document.getElementById("faculty").value;

function showFaculties(){
     window.location = "/calculatePaymentForSeveralSemesters?value="+period+"&faculty="+faculty;
}
function calculatepayments(){
     window.location = "/showTwoSmallestFaculties"
}

<script>

Кроме того, скриптлетам крайне не рекомендуется ... вам не нужно делать это:

<%=request.getParameter("period")%>

только это нормально:

${period}

Почему скриплетам не рекомендуется:

Как чтобы избежать Java код в JSP файлах?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...