Пытаюсь реализовать табличный ввод на веб-странице. Нужно будет отправлять в сервлет данные "таблицы" произвольной высоты. Количество колонок фиксировано.
Сделал так:
JSP:
<form:form name="tabtext" method="post" action="index.html" >
<p>Введите:</p>
<table>
<tr>
<td><input type="file" name="column1" size="24" /></td>
<td><input type="text" name="column2" size="24" /></td>
<td><input type="checkbox" name="column3" /></td>
</tr>
<tr>
<td><input type="file" name="column1" size="24" /></td>
<td><input type="text" name="column2" size="24" /></td>
<td><input type="checkbox" name="column3" /></td>
</tr>
</table>
<input type="submit" id="sendbtn" value="Отправить" />
</form:form>
- в JSP с помощью JavaScript могу удалять и добавлять куски <tr>...</tr>, т.е. количество строк может быть произвольным..
Поскольку в колонках таблицы у соответствующих 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 полей, куда жабаскриптом подставлять всё, что мне нужно.. (Gjrf yt ghjdthzk)/ Но что-то пока надеюсь на наличие стандартных методов решения моих проблем..
Помогите, пожалуйста, разобраться!
Теги:
web
html
spring
jsp
http