Форма отправки электронного письма с вложениями (добавление, открытие и удаление) весной mvc - PullRequest
0 голосов
/ 31 января 2011

Как мне создать форму электронной почты, которая позволяет пользователю указать:

  • Кому
  • Тема
  • Вложения с возможностью добавления / открытия / удаления
  • кнопка отправки / отмены

У меня проблемы с отправкой индекса файла, который пользователь хочет удалить, например, если пользователь приложил file1, file2,и file3 в форме отправки по электронной почте, и я записал эту информацию в контроллере как ключ, пару значений, где ключ - это индекс, а значение - как имя файла.Но пользователь может удалить произвольный файл перед отправкой электронного письма, например, пользователь нажимает кнопку удаления «file2».Теперь в контроллере я хочу получить индекс файла, который необходимо удалить, но это динамично, так как пользователь может нажать любую кнопку удаления любого из прикрепленных файлов.

Я использую Spring 2.5 с JSP / JSTLв качестве компонента просмотра.

См. образец формы электронной почты:


To |_________________|

Subject |________________|

Attachments: [**ADD**] <br/>
**X**  file1<br/>
**X**  file2<br/>
**X**  file3<br/>

(нажмите кнопку «ДОБАВИТЬ», чтобы прикрепить файл, нажмите «Х», чтобы удалить соответствующий вложенный файл, нажмите кнопкуимя файла для просмотра / открытия содержимого файла)

Ответы [ 2 ]

0 голосов
/ 31 января 2011

Спасибо Axtavt, но мы используем IE6 в качестве клиентского браузера, и следующая проблема известна:

Между тем, элемент button позволяет авторам создавать кнопки, которые отправляют на сервер данные, которые не соответствуют тексту, отображаемому на кнопке. Удалить следует отправить на сервер row_to_delete = 1, но Internet Explorer отправит row_to_delete = Delete. Если бы можно было убедить IE вести себя, то это также было бы полезно для многоязычных сайтов - отображаемый текст мог бы быть переведен для каждого языка, но значение могло бы остаться прежним, поэтому логике на стороне сервера не нужно было бы проверять таблицу перевода. Тем не менее, Internet Explorer 6 имеет еще одну ошибку, в которой он будет рассматривать все элементы как успешные элементы управления и отправлять свои данные на сервер, даже если они не были нажаты. Это фактически делает невозможным использование нескольких элементов кнопки.

0 голосов
/ 31 января 2011

Если удаление выполняется на стороне сервера, вы можете реализовать кнопки удаления в виде тега <button>, где name, скажем, fileToRemove, а value - индекс файла. Когда пользователь нажимает эту кнопку, форма отправляется с параметром fileToRemove=...:

 <button name = "fileToRemove" value = "${file.id}">Remove</button>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...