форма: флажок не работает на JSP-странице Spring MVC - PullRequest
0 голосов
/ 10 октября 2019

У меня есть следующий класс Model:

public class BlocchettiScratchCards implements Serializable {
      ...
      private boolean flagNuovaGestione;

      public boolean isFlagNuovaGestione() {
        return flagNuovaGestione;
      }

      public void setFlagNuovaGestione(boolean flagNuovaGestione) {
        this.flagNuovaGestione = flagNuovaGestione;
      }
}

и класс Bean:

public class BlocchettiScratchCardsBean implements Serializable {
      ...
      private boolean flagNuovaGestione;
      public boolean isFlagNuovaGestione() {
        return flagNuovaGestione;
      }

      public void setFlagNuovaGestione(boolean flagNuovaGestione) {
        this.flagNuovaGestione = flagNuovaGestione;
      }
}

в JSP у нас есть тег <form:form> со следующим:

<form:checkbox path="flagNuovaGestione"/>

Класс контроллера инициализирует свойство следующим образом:

BlocchettiScratchCardsBean elencoCards = new BlocchettiScratchCardsBean();        
elencoCards.setFlagNuovaGestione(true);

, но когда страница загружена, по умолчанию флажок не установлен, как я ожидаю.

Проверка HTMLстраницы, я вижу следующее:

<input id="flagNuovaGestione1" name="flagNuovaGestione" type="checkbox" value="true">
<input type="hidden" name="_flagNuovaGestione" value="on">

, но свойство selected не установлено.

Почему у меня такое поведение и как я могу решить эту проблему?

1 Ответ

0 голосов
/ 22 октября 2019

Я нашел решение самостоятельно. Проблема была в классе Controller, в частности инструкция, которая добавляет formBean в представление jsp, была выполнена до установки логической переменной flagNuovaGestione.

Это был старый / не работающий код:

BlocchettiScratchCardsBean elencoCards = new BlocchettiScratchCardsBean();        
view.addObject("formBean", elencoCards);
elencoCards.setFlagNuovaGestione(true);

и следующий правильный:

BlocchettiScratchCardsBean elencoCards = new BlocchettiScratchCardsBean();            
elencoCards.setFlagNuovaGestione(true);
view.addObject("formBean", elencoCards);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...