JSP и Java Bean: Калькулятор с прошлой историей - PullRequest
1 голос
/ 29 мая 2020

Мне нужно создать калькулятор суммирования с инструментами прошлой истории JSP и java bean. Мне нужно вычислить сложение, но я не могу сохранить значения в ArrayList в компоненте. Он всегда сбрасывается с новыми значениями.

Это bean-компонент java, который получает firstNum и secondNum из JSP и сохраняет результат в истории ArrayList.

SumBean. java

import java.util.ArrayList;
public class SumBean implements java.io.Serializable {
    private double firstNumber;
    private double secondNumber;
    private ArrayList<Double> history = new ArrayList<>();

    public void setFirstNumber(double firstNumber){
        this.firstNumber = firstNumber;
    }
    public void setSecondNumber(double secondNumber){
        this.secondNumber = secondNumber;
    }

    public double getFirstNumber(){
        return firstNumber;
    }

    public double getSecondNumber(){
        return secondNumber;
    }

    public double addition(){
        double sum = firstNumber + secondNumber;
        return sum;
    }

    public void setHistory(){
        history.add(addition());
    }

    public ArrayList getHistory(){
        return history;
    }
}

Вот JSP, который отображает форму и передает значение компоненту java.

сложение. jsp

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

<jsp:useBean id="add" class="person.bean.SumBean">
    <jsp:setProperty name="add" property="firstNumber" value="${param.firstNumber}"/>
    <jsp:setProperty name="add" property="secondNumber" value="${param.secondNumber}"/>
</jsp:useBean>

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Addition JSP Page</title>
    </head>
    <body>
        <h1>Addition JSP</h1>

        <form method="post" action="addition.jsp">
            <input type="number" name="firstNumber" placeholder="First number">
            <input type="number" name="secondNumber" placeholder="Second number">
            <input type="submit" name="submit" value="Submit">
            <input type="submit" name="reset" value="Reset">
        </form>
        <br>
        Result : ${add.addition()}
        <br>
        History:
        <br>
        ${add.setHistory()}
        <c:forEach var="item" items="${add.getHistory()}">
            ${item}
        </c:forEach>
        <br>
        <a href="index.html">Home</a>
    </body>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...