Обычная версия
Java форум JavaTalks
форум программистов

Поиск   Пользователи   Группы   Регистрация 
 Профиль   Личные сообщения 

 Вход 

Как реализовать? нужен пример!
Список форумов
 ->  Основы веб-программирования на Java


 
Начать новую тему 
Предыдущая тема :: Следующая тема  
Автор Сообщение
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 
Ответить с цитатой
сделал по своему.

тему можно закрывать.

участникам спасибо.
К началу Посмотреть профиль Отправить личное сообщение
 
Начать новую тему  Ответить на тему
Страница 1 из 1
Список форумов
 -> Основы веб-программирования на Java


 
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Java and all Java-related trademarks and logos are trademarks or registered trademarks of Oracle Corporation in the United States and other countries.
Это сайт не относится к фирме Oracle Corporation и не поддерживается ею.

© 2006-2010 www.javatalks.ru: форум java программистов
Используется скрипт phpBB © 2001, 2010 phpBB Group

Хостинг от bizname.ru