Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Java для Web (EE, Servlet, JSP, Tomcat, Spring MVC)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.02.2017, 15:26   #1
mrprim
Пользователь
 
Регистрация: 07.06.2016
Сообщений: 52
По умолчанию jsp and mysql работа с таблицами

Добрый день
вот jsp страничка


class.jsp

Код HTML:
<html>
<head>
    <title>Users List</title>
</head>

<body>
    <div class="generic-container">
        <%@include file="authheader.jsp" %>    
        <div class="panel panel-default">
              <!-- Default panel contents -->
            <div class="panel-heading"><span class="lead">List of Users </span></div>
            <table class="table table-hover">
                <thead>
                <tr>
                    <th>test1</th>

                </tr>
                </thead>
                <tbody>
                <c:forEach items="${users}" var="user">
                    <tr>
                        <td>${user.firstName}</td>

                    </tr>
                </c:forEach>
                </tbody>
         </table>
        </div>
<sec:authorize access="hasRole('ADMIN')">
            <div class="well">
                <a href="<c:url value='/newuser' />">Add New User</a>
            </div>
        </sec:authorize>
    </div>
</body>
</html>
как вы заметили
Код HTML:
<c:forEach items="${users}" var="user">

                        ${user.firstName}</td>

                </c:forEach>
подтяrивает инфу с целоrо столбца таблицы.
как обратится к отдельной строке в таблице базы
или как найти информацию в таблице по индексу?
подскажите кто вкурсе
mrprim вне форума Ответить с цитированием
Старый 01.02.2017, 15:34   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Зачем к отдельной? К какой?
Например передать ее из контроллера.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 01.02.2017, 17:53   #3
mrprim
Пользователь
 
Регистрация: 07.06.2016
Сообщений: 52
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Зачем к отдельной? К какой?
Например передать ее из контроллера.
да к любой, к примеру нужна ячейка данных принадлежащая определенному id. На веб странице будет выбор всех элементов которые есть в базе, а выбрав один мы откроем карту.
mrprim вне форума Ответить с цитированием
Старый 01.02.2017, 18:07   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Так и причем тут jsp? Оно выполняется до отправки страницы клиенту, это не клиентский скрипт (JavaScript, который не имеет никакого отношения к Java кроме имени).

Если вам нужно для каждого элемента и вы не хотите делать отдельный запрос при клике, то в forEach и можно код всех карт вывести (клик и показ нужной карты тогда обрабатывать на клиенте, JS).

А если на каждую карту отдельный запрос (то есть при клике с сервера приходят данные карты), то тоже либо просто отдельная страница (типа /map/42), либо JS (AJAX) делать запрос на получение этих данных (ну то есть тоже GET /map/42, но сервер может отдать либо JSON, либо кусок HTML вместо целой страницы) и выводить.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 01.02.2017 в 18:11.
Alex11223 вне форума Ответить с цитированием
Старый 01.02.2017, 18:34   #5
mrprim
Пользователь
 
Регистрация: 07.06.2016
Сообщений: 52
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Так и причем тут jsp? Оно выполняется до отправки страницы клиенту, это не клиентский скрипт (JavaScript, который не имеет никакого отношения к Java кроме имени).

Если вам нужно для каждого элемента и вы не хотите делать отдельный запрос при клике, то в forEach и можно код всех карт вывести (клик и показ нужной карты тогда обрабатывать на клиенте, JS).

А если на каждую карту отдельный запрос (то есть при клике с сервера приходят данные карты), то тоже либо просто отдельная страница (типа /map/42), либо JS (AJAX) делать запрос на получение этих данных (ну то есть тоже GET /map/42, но сервер может отдать либо JSON, либо кусок HTML вместо целой страницы) и выводить.
теоретически вроде понял, а как практически сделать - не совсем.
мне видимо нужно каждую карту отдельно из базы тянуть. Потом внутрь карты JS-ом буду класть метки.
Тогда как будет выглядеть JS запрос на данные новой карты в базу?
mrprim вне форума Ответить с цитированием
Старый 01.02.2017, 18:38   #6
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

XMLHttpRequest (возвращать именно XML не обязательно ) или если jQuery, то $.ajax или $.get
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 01.02.2017, 19:26   #7
mrprim
Пользователь
 
Регистрация: 07.06.2016
Сообщений: 52
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
XMLHttpRequest (возвращать именно XML не обязательно ) или если jQuery, то $.ajax или $.get
блин я походу не только слепой а еще и тупенький, что не могу сформулировать нормально) Сейчас расскажу:
у меня есть таблица бд, у неё 3 столбца(грубо говоря)
id name svg_code
и вторая таблица
time x_cord y_cord
Мне нужно отобразить на веб странице список названий всех карт для выбора одной!(загружать все карты НЕЛЬЗЯ - их очень много, только названия)
после отклика с серва мне нужно взять отдельно нужную карту по имени или id и отобразить её на странице.
и всё было бы ничего если бы не одно НО: перед закрывающимся тегом </svg> нужно вставить координаты из второй базы(видимо с помощью JS) и каждый Тик времени из второй базы их менять.

так вот
Код:
<c:forEach items="${maps}" var="map">

            ${map.svg}

        </c:forEach>
это загружает все карты сразу, а мне нужно одну по имени или id

Последний раз редактировалось mrprim; 01.02.2017 в 19:34.
mrprim вне форума Ответить с цитированием
Старый 01.02.2017, 20:14   #8
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Так а как первая таблица связана с второй?

Чтобы загрузить одну запись надо просто чтобы сервер на запрос (GET) типа /map/id возвращал эти данные.

Если надо показывать данные без перехода на новую страницу (или перезагрузки), то сервер может возвращать либо сами данные например в формате JSON (в JS его легко распарсить), либо кусок HTML, который надо вставить.

JS надо обрабатывать клик по элементу (addEventListener или onclick или jquery $('selector').click) и делать этот HTTP запрос (с помощью ajax, как выше написано), выводить данные куда надо. id можно записать в любой атрибут элемента (например data-myId, или например если это <a>, то просто в href, только тогда еще надо в обработчике клика отменить переход по ссылке)
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 01.02.2017 в 20:16.
Alex11223 вне форума Ответить с цитированием
Старый 01.02.2017, 20:44   #9
mrprim
Пользователь
 
Регистрация: 07.06.2016
Сообщений: 52
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Так а как первая таблица связана с второй?

Чтобы загрузить одну запись надо просто чтобы сервер на запрос (GET) типа /map/id возвращал эти данные.

Если надо показывать данные без перехода на новую страницу (или перезагрузки), то сервер может возвращать либо сами данные например в формате JSON (в JS его легко распарсить), либо кусок HTML, который надо вставить.

JS надо обрабатывать клик по элементу (addEventListener или onclick или jquery $('selector').click) и делать этот HTTP запрос (с помощью ajax, как выше написано), выводить данные куда надо. id можно записать в любой атрибут элемента (например data-myId, или например если это <a>, то просто в href, только тогда еще надо в обработчике клика отменить переход по ссылке)
Можно в скайпе отнять у вас несколько минут? Так и объяснить проще и пальцем тыкнуть)
mrprim вне форума Ответить с цитированием
Старый 01.02.2017, 20:51   #10
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Не, за несколько минут я вряд ли расскажу кучу материала по основам работы веба, JS, HTTP

Выше ж написано все основное и что гуглить.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Java + Jsp + mysql + Spring, юзера с базы подтяrивает нормально, а когда хочу отобразить карты, то не отображает mrprim Java для Web (EE, Servlet, JSP, Tomcat, Spring MVC) 7 01.02.2017 14:20
Выбор логики работы с MEMORY (HEAP) таблицами MySql Illusiony SQL, базы данных 8 14.02.2016 00:13
Проблема с кодировкой Tomcat JSP MySQL, все перепробывал. tank01 Java для Web (EE, Servlet, JSP, Tomcat, Spring MVC) 1 12.10.2012 11:17
Работа с несколькими таблицами MySql Furyon SQL, базы данных 1 02.02.2011 09:30
JSP editor и JSP + spring Guide Jakethefish Java для Web (EE, Servlet, JSP, Tomcat, Spring MVC) 0 15.06.2010 17:16