Вопросы по отправке form сервлету Spring MVC

Oct 07, 2011 09:13

Пытаюсь реализовать табличный ввод на веб-странице. Нужно будет отправлять в сервлет данные "таблицы" произвольной высоты. Количество колонок фиксировано. Сделал так:
JSP:

- в JSP с помощью JavaScript могу удалять и добавлять куски ..., т.е. количество строк может быть произвольным..
Поскольку в колонках таблицы у соответствующих input-ов одинаковый name, то данные получаю в сервлете в виде массивов с соответствующими именами.
Вот как это делается у меня:

@RequestMapping(value = "/index", method = RequestMethod.POST)
    public ModelAndView getInputText(
                        @RequestParam("column1") String[] column1,
                        @RequestParam("column2") String[] column2,
                        @RequestParam("column3") String[] column3) {
        //  TODO
    }

И тут возникает 2 проблемы, которые я пока не придумал как решить без использования костылей..

1. Имена файлов приезжают без пути. А мне обязательно нужен полный путь и имя файла! Потому что в дальнейшем это имя будет использоваться в апплете. Как же всё-таки передавато полное имя файла?

2. column3 у нас соответствуют чекбоксы. Но в массиве я получаю только включенные чекбоксы, а не все. Например, если в таблице 3 строки, а включены только первый  и третий чекбокс, то результирующий массив не из 3, а из двух элементов "on". Соответственно, при разборе массива не удастся это сопоставить их column1 - поди разбериьс к какой именно строке относя включенные чекбоксы. А можно как-то передавать и "on" и "off"? Чтобы в массиве таки были все 3 значения column3.

Подозреваю, что и то и другое можно пофиксить с помощью hidden полей, куда жабаскриптом подставлять всё, что мне нужно.. Но что-то пока надеюсь на наличие стандартных методов решения моих проблем..
Помогите, пожалуйста, разобраться!

UPD: С передачей полного пути к файлу из формы по ходу ПОЛНЫЙ облом.. Трюк с копированием жабаскриптом содержимого в текстовый или хидден элемент формы - теперь не проходит. (Точнее проходит только в IE вплоть до 9 версии включительно). Но теперь в большинстве браузеров вопросы безопасности решены по советски - надо-ненадо не волнует, запретить и всё.. ))) Видимо придется городить веб-морду апплету!

spring, web, html, jsp, http

Previous post Next post
Up