Весна, простая форма - улучшение первого проекта - PullRequest
0 голосов
/ 11 марта 2019

Я начал писать один проект, и у меня есть несколько вопросов. Это калькулятор (алкогольный алкотестер) Ниже приведен код Класс модели:

public class CalculatorFromData {
private double coeffieicient;
private double bodyweight;
private double alcoholInGrams;


public CalculatorFromData(double coeffieicient, double bodyweight, double alcoholInGrams) {
    this.coeffieicient = coeffieicient;
    this.bodyweight = bodyweight;
    this.alcoholInGrams = alcoholInGrams;
}

public CalculatorFromData(){}

public double getCoeffieicient() {
    return coeffieicient;
}

public void setCoeffieicient(double coeffieicient) {
    this.coeffieicient = coeffieicient;
}

public double getBodyweight() {
    return bodyweight;
}

public void setBodyweight(double bodyweight) {
    this.bodyweight = bodyweight;
}

public double getAlcoholInGrams() {
    return alcoholInGrams;
}

public void setAlcoholInGrams(double alcoholInGrams) {
    this.alcoholInGrams = alcoholInGrams;
}

}

Мой контроллер:

  @RequestMapping("/breathalyser")
public String createOperationModel(Model model) {
    model.addAttribute("operationModel", new CalculatorFromData());
    return "calculatorform";
}

@RequestMapping(path="/breathalyser", method = RequestMethod.POST)
public String add(@ModelAttribute("operationModel") CalculatorFromData calculatorFromData, Model model) {
    model.addAttribute("result", calculator.calculate(calculatorFromData.getAlcoholInGrams(), calculatorFromData.getCoeffieicient(), calculatorFromData.getBodyweight()));
    return "calculatorform";
}

Мой класс с методом:

public class CalculatorBmr {
public double calculate(int age,double height, double bodyweight){
return 66+(13.7*bodyweight)+(5*height)-(6.76*age);
}

И HTML-файл

<div class="container" >

<form class="list-inline"  th:object="${operationModel}" th:action="@{/breathalyser}" th:method="post" >
    <div class="form-group" >
        <label class="control-label">Ilość wypitego alkoholu w gramach:</label>
        <input type="text" class="form-control" th:field="*{alcoholInGrams}" placeholder="Alkohol podany w gramach"/>
        <p th:if="${#fields.hasErrors('alcoholInGrams')}" th:errors="*{alcoholInGrams}"/>
    </div>
    <div class="form-group" >
        <label class="control-label">Współczynnik:</label>
        <input type="text" class="form-control" th:field="*{coeffieicient}" placeholder="Współczynnik"/>
        <p th:if="${#fields.hasErrors('coeffieicient')}" th:errors="*{coeffieicient}"/>
    </div>
    <div class="form-group" >
        <label class="control-label">Masa ciała:</label>
        <input type="text" class="form-control" th:field="*{bodyweight}" placeholder="Masa ciała"/>
        <p th:if="${#fields.hasErrors('bodyweight')}" th:errors="*{bodyweight}"/>
    </div>



    <div class="row">
        <button type="submit" class="btn-primary">Oblicz</button>
    </div>
    <div>

        <font size="4">

            Result:</font> <span th:if="${result != null}" th:text="${result}"></span>

    </div>

</form>

И У меня есть некоторые вопросы:

1) Я хотел бывместо поля коэффициента, чтобы иметь радиокнопку, в которой отмечено, являетесь ли вы женщиной или мужчиной, а затем автоматически метод подсчитает для женщины 0,6, для мужчины 0,7.Как изменить метод?А как писать спереди?

2) Хотелось бы увидеть сообщение «Трезвый, прежде чем садиться в машину», когда результат выше 0,2

3) Как добавитьстрока к результату, чтобы показать что-то вроде этого - Результат: 0,22 в крови

4) Как сделать проверку?В случае неверных данных не учитывайте результат.Ранее я делал такие проверки, что в случае правильных данных я перенаправлял на другую страницу, и в этом случае я не знаю, как это сделать.Поэтому, если у меня плохие данные, это должно исправить их, и если это хорошо, это даст результат

...