У меня есть j2ee приложение, работающее weblogic. Я был перепутан со своим мультиполем.
То, что я знаю мультиполя, - то, что проверенные объекты будут переданы как массив строк на, отправляют.
Я не знаю, почему в моем приложении это хорошо работает, когда я снял флажок с флажком или больше, пока единственное поле остается проверенным, но когда я снял флажок со всем, отправленный массив является массивом of the ранее проверенные мультиполя, когда это, как предполагалось, было пусто.
Можно ли помочь мне?
Вы знакомы с методом reset () класса ActionForm?
Назначение этого метода - сбросить флажки. Если в вашей форме установлен флажок, и вы отправляете его, этот флажок будет отображаться в запросе. Если флажок снят, при запросе на него ничего не будет отправлено (отправка GET - простой способ наблюдать за этим поведением).
Когда Struts выполняет привязку запроса, он сопоставляет по имени параметры из запроса с параметрами в форме. То есть, если есть что сопоставить.
Теперь рассмотрим следующие шаги:
Вышесказанное применимо для нескольких флажков, но вы получаете массив вместо одного значения.
Введите метод сброса ().Это вызывается Struts перед привязкой запроса. Здесь вы можете установить значение поля false. Если он поступит в запросе, Struts заменит его на true => OK. Если он не поступит по запросу (потому что он не отмечен), значение останется false => OK снова.
То же самое и с мультибоксами. Вы должны сбросить список значений из ActionForm, уменьшив массив до нулевой длины (но не до нуля).
Если ваша ActionForm имеет область запроса, это обычно не имеет значения, потому что объект воссоздается при каждом запросе. Но для ActionForm с ограниченным сеансом и флажками функция reset () является обязательной.