|
Java форум JavaTalks форум программистов
|
|
|
|
| Предыдущая тема :: Следующая тема |
| Автор |
Сообщение |
Z___ZZZ : 13 Новичок
|
Янв 24, 2012 11:07 |
|
|
| Пишу простой пример веб приложения с CRUD. Использую Spring + Hibernate+ JPA + Maven. Так вот - хочу реализовать множественное удаление. Планирую для этого использовать отдельную форму с checkbox -ами , где смогу проставить какие записи удалять, только вот не могу понять, как мне передать параметры - id(их ведь будет несколько ) в метод . может у кого-то есть пример?? или дайте толчок... |
|
|
|
 |
b4535855 : 11 Новичок
|
Янв 24, 2012 11:44 |
|
|
<form>
<input type="checkbox" name="id[]">1
<input type="checkbox" name="id[]">2
<input type="checkbox" name="id[]">3
<input type="checkbox" name="id[]">4
<input type="checkbox" name="id[]">5
</form>
POST-параметр id - массив. |
|
|
|
 |
Z___ZZZ : 13 Новичок
|
Янв 27, 2012 12:22 |
|
|
1. Короче что-то наваял. Создал jsp, на которой вывожу список записей с checkbox-ами
| Код: |
<form:form modelAttribute="personsToDelete" method="post" action="/delete-many/">
<table style="border: 1px solid; width: 100%; text-align:center">
<thead style="background:#d3dce3">
<tr>
<th>Choose</th>
<th>First Name</th>
<th>Last Name</th>
<th>Day of Birth</th>
</tr>
</thead>
<tbody style="background:#ccc">
<c:forEach items="${personsToDelete}" var="person">
<tr>
<td><input type="checkbox" value="${person.id}" name="${person.id}"></td>
<td><c:out value="${person.firstName}" /></td>
<td><c:out value="${person.lastName}" /></td>
<td><c:out value="${person.dob}" /></td>
</tr>
</c:forEach> |
2. соответствующий контроллер для данной формы
| Код: |
@RequestMapping(value = "/delete-many", method = RequestMethod.GET)
public String listToDeletePersons(Model model) {
List<Person> persons = personService.listPersons();
model.addAttribute("personsToDelete", persons);
return "delete-many";
}
@RequestMapping(value = "/delete-many", method = RequestMethod.POST)
public String deletePersonList(Model model, @ModelAttribute("personsToDelete") Person person, @PathVariable(value="personId") Integer id, BindingResult result) {
//Person person=personList.getPerson();
personService.deletePerson(id);
return "redirect:/";
}
|
Теперь не могу понять как мне передать в запрос параметры и как оформить с моих checkbox -ов , а потом удалить нужные мне записи???
И как мне оформить на мметод POST @RequestMapping(value = "/delete-many/.......", method = RequestMethod.POST) |
|
|
|
 |
subversion : 42 Новичок Откуда: ua, kh
|
Янв 28, 2012 1:59 |
|
|
По проще:
| Код: |
<input type="radio" name="rm" value="1">
<input type="radio" name="rm" value="2">
service.remove(HttpServletResponse.getParameterValues("rm") -> toInt[])
|
По сложнее:
| Код: |
<input type="checkbox" class="rm" name="1">1
<input type="checkbox" class="rm" name="2">2
<input type="button" onclick="
var checkBoxes = document.getElementsByClassName('rm');
var toDelete = '';
for(var i=0; i<checkBoxes.length; i++){
if(checkBoxes[i].checked == true){
//как-нибудь собрать в массив\строку
toDelete += checkBoxes[i].name + ';';
}
}
alert(toDelete);
//jquery.ajax().('/delete-many').setparam('deleteIds', toDelete);
//update html
">
|
| Код: |
HttpServletRequest.getParameter\s('deleteIds')
service.delete(ids);
HttpServletResponse.getWriter().print("ok");
return null;
|
|
|
|
|
 |
Z___ZZZ : 13 Новичок
|
Янв 30, 2012 9:54 |
|
|
сделал по своему.
тему можно закрывать.
участникам спасибо. |
|
|
|
 |
|
|
|