Как отобразить пустое текстовое поле вместо нуля в весной MVC - PullRequest
0 голосов
/ 28 апреля 2019

Я использую пружинный MVC с валидатором гибернации.Моя проблема в том, что когда целое значение равно нулю, в моем текстовом поле отображается 0.Я хочу отображать только пустую строку.как это сделать?

В моем JSP:

<form:form action ="processForm" modelAttribute="customer" >
...
...
Free Passes: <form:input path="freePasses"/>
<form:errors path="freePasses" cssClass="error" />
<input type="submit" value="submit" />
</form:form>

Мой класс клиентов:

public class Customer {
...
private int freePasses;
}

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

public class CustomerController {
@RequestMapping("/showForm")
public String showForm(Model model) {
    model.addAttribute("customer",new Customer());
    return "customer-form";
}

@RequestMapping("/processForm")
public String processForm(@Valid @ModelAttribute("customer") Customer cust,
        BindingResult result) {
    if(result.hasErrors()) {
        return "customer-form";
    } else {
        return "customer-confirmation";
    }
}
}

Когда форма загружается, я хочу видеть пустым в поле «Свободные пропуски» не ноль.

Результат я получаю

Ожидаемый результат

Ответы [ 2 ]

0 голосов
/ 29 апреля 2019

Вы используете тип примитива int, который по умолчанию равен 0.

private int freePasses;

Я бы посоветовал использовать Wrapper Integer, вместо этого это решило бы вашу проблему.

личное целое число бесплатных пропусков;

ПРИМЕЧАНИЕ. Не забудьте перегенерировать геттер / сеттер после перехода от int к Integer

0 голосов
/ 28 апреля 2019

Используйте <c:if> JSP JSTL (стандартная библиотека тегов Java), если тег условия и условие проверки для значения 0, и установите значение в "" пустую строку, как показано ниже.

<c:if test = "${customer.freePasses == 0}">
   //put text area with empty string
</c:if>

См. https://www.tutorialspoint.com/jsp/jstl_core_if_tag.htm

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