powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Интересный Алгортим
8 сообщений из 8, страница 1 из 1
Интересный Алгортим
    #34404033
nigger™
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Народ у меня такой вопрос, когда я читаю из базы данных информацию к примеру всех пользователей.
И вывожу ее на jsp причем интерестным способом :
начинается таблица в перую ячейку ложу
чекбокс затем в след ячейку вывожу имя изера, затем вывожу текстфиелд (<input type="text"/>) после того как таблица выведена вставляю submit баттон. Что и как должно работать.
Помеченые юзера в чекбоксах и введенными значениями в текст фиелдах(причина удаления по просту)
должны удаляться.
Так вот хотелось бы узнать хотя бы теорию того как вывести грамотно и как собрать все нужное. ?
...
Рейтинг: 0 / 0
Интересный Алгортим
    #34405174
nigger™
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Народ, плиз дайте мысль или мот какие линки на екзамплы.
...
Рейтинг: 0 / 0
Интересный Алгортим
    #34405203
Ёлкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что-то не совсем понятен вопрос. Что надо-то, в итоге? Как обработать выбранных пользователей на сервере? Или что?
...
Рейтинг: 0 / 0
Интересный Алгортим
    #34405247
nigger™
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ЁлкинЧто-то не совсем понятен вопрос. Что надо-то, в итоге? Как обработать выбранных пользователей на сервере? Или что?
OK ... расскажу детальней :
...
Рейтинг: 0 / 0
Интересный Алгортим
    #34405296
nigger™
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ЁлкинЧто-то не совсем понятен вопрос. Что надо-то, в итоге? Как обработать выбранных пользователей на сервере? Или что?
Ok ... расскажу детальней :
есть экшен сервлет, который выгриебает список юзеров из базы данных (пусть их будет n)
потом надо сгенерить табличку вида : первое поле checkbox, второе имя юзера из бд, третье , текст фиелд. Вопрос первый как правильно бы это вывести что бы был след функционал.
Далее мы кликаем на чекбокс (он выделен), или проще говоря мы помечаем юзеров которых хотим удалить, затем нужно обязвтельно ввести что нить в текст фиелд дабы указать ризон удаления.
Под таблицей есть кнопка Submit(Знакомая всем). Надо че сделать, что бы собрались все юзера во что-нибудь хотя бы в список какой-нить, после чего я прохожу по таблице юзеров и делитаю их от тудова, и переношу в другою таблицу (deletedUser к примеру), но это у меня есть реализованное.

Вот в принципе более детальней о том, что надо сделать.
...
Рейтинг: 0 / 0
Интересный Алгортим
    #34405762
Ёлкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все, конечно, зависит от модели твоего приложения. Но в любом случае, нужно отделять бизнес-логику от представления.
Например, можно б было организовать работу так (примитивный вариант).
Организуем объектное представление пользователя:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
 package  scheme;

 public   class  User {
     private   long  id;
     private  String userName;

     public   long  getId() {
         return  id;
    }

     public   void  setId( long  id) {
         this .id = id;
    }

     public  String getUserName() {
         return  userName;
    }

     public   void  setUserName(String userName) {
         this .userName = userName;
    }
}
Также, обеспечим класс доступа к данным:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
 public   class  UserDAO {
    
     public  List<User> getAllUsers(){
        List<User> allUsers =  new  ArrayList<User>();
        /*
        * тут выбираем необходимые данные из базы,
        * формируем объекты User и запихиваем их в список allUsers
        * */
         return  allUsers;
    }

     public  User getUserById(){
        User user =  new  User();
        /* ..... */
         return  user;
    }

}
Теперь совсем легко и просто нарисовать интерфейс и вывести данные.
Лучше использовать не просто jsp, а JSTL (Chapter 6).
Страничка получиться примерно такой:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
<%@ page contentType="text/html;charset=utf-8" language="java" %>
<%@ taglib  prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<fmt:requestEncoding value="UTF-8"/>
<jsp:useBean id="users"  class ="main.UserDAO" />
<html>
    <head>
        <title>Пользователи</title>               
        <script type="text/javascript" src="${pageContext.request.contextPath}/main.js"></script>
    </head>
<body>
<!-- получаем список всех пользователей -->
<c:set var="users" value="${users.allUsers}" />

<form name="delete_users" action="${pageContext.request.contextPath}/action/" method="post">
<table cellpadding="1" cellspacing="1" border="1" width="100%">
    <tr>
        <td> </td>
        <td>Пользователь</td>
        <td>Причина</td>
    </tr>
    <c: if  test="${!empty users}">
    <c:forEach var="user" items="${users}">
        <tr>
            <td><input type="checkbox" name="user_ids" value="${user.id}"></td>
		    <td><c:out value="${user.userName}"/></td>
            <td><input type="text" id="${user.id}" size="50"></td>
        </tr>
    </c:forEach>
    <tr>
        <td colspan="3">
            <input type="button" value="Send" onclick="checkData('delete_users');">
        </td>
    </tr>
</c: if >
</body>
</html>
А всякого рода проверки (выбраны ли элементы, введен ли текст и т.п.) делаем до отправки данных на сервер - пишем на javascript'е. На всякий случай, необходимую валидацию данных можно сделать еще и на сервере.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
<script type="text/javascript">
function checkData(formName){
  var errorFields = false;
  var countElems = document.forms[formName].elements.length;
   for (var k =  0 ; k < countElems; k++){
    var currentElem = document.forms[formName].elements[k];
     if (currentElem.type == 'checkbox' && currentElem.checked){
      var userId = currentElem.value;                        
       if (document.getElementById(userId).value == ''){                            
        errorFields = true;
         break ;
      }
    }
  }
   if (errorFields){
    alert("Введите причину удаления!");
  } else {
    document.forms[formName].submit();
  }
}
</script>
В сервлете, которые обрабатывает запросы, читаем параметры запроса и выполняем необходимыек операции...
...
Рейтинг: 0 / 0
Интересный Алгортим
    #34405811
y3u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
друх, маленький совет... Делай одно поле для ввода ризона на всех... напротив каждого - это фигня, а не функционал... хочу удалить 100 пользователей, по причине их профнепрегодности - это в каждое поле чтоли копипастить? Нафиг?
...
Рейтинг: 0 / 0
Интересный Алгортим
    #34406934
nigger™
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
y3uдрух, маленький совет... Делай одно поле для ввода ризона на всех... напротив каждого - это фигня, а не функционал... хочу удалить 100 пользователей, по причине их профнепрегодности - это в каждое поле чтоли копипастить? Нафиг?
Кабы было бы так как ты сказал, я бы просто молился бы :)
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Интересный Алгортим
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]