Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

Ответ
 
Опции темы
Старый 01.02.2017, 16:26   #1
mrprim
Форумчанин
 
Регистрация: 07.06.2016
Сообщений: 52
Репутация: 10
По умолчанию 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, 16:34   #2
Alex11223
Модератор
Заслуженный модератор
 
Регистрация: 12.01.2011
Сообщений: 17,345
Репутация: 3350

icq: 512-765
skype: alexp.frl
По умолчанию

Зачем к отдельной? К какой?
Например передать ее из контроллера.
Alex11223 вне форума   Ответить с цитированием
Старый 01.02.2017, 18:53   #3
mrprim
Форумчанин
 
Регистрация: 07.06.2016
Сообщений: 52
Репутация: 10
По умолчанию

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

icq: 512-765
skype: alexp.frl
По умолчанию

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

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

А если на каждую карту отдельный запрос (то есть при клике с сервера приходят данные карты), то тоже либо просто отдельная страница (типа /map/42), либо JS (AJAX) делать запрос на получение этих данных (ну то есть тоже GET /map/42, но сервер может отдать либо JSON, либо кусок HTML вместо целой страницы) и выводить.

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

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

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

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

icq: 512-765
skype: alexp.frl
По умолчанию

XMLHttpRequest (возвращать именно XML не обязательно ) или если jQuery, то $.ajax или $.get
Alex11223 вне форума   Ответить с цитированием
Старый 01.02.2017, 20:26   #7
mrprim
Форумчанин
 
Регистрация: 07.06.2016
Сообщений: 52
Репутация: 10
По умолчанию

Цитата:
Сообщение от 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 в 20:34.
mrprim вне форума   Ответить с цитированием
Старый 01.02.2017, 21:14   #8
Alex11223
Модератор
Заслуженный модератор
 
Регистрация: 12.01.2011
Сообщений: 17,345
Репутация: 3350

icq: 512-765
skype: alexp.frl
По умолчанию

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

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

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

JS надо обрабатывать клик по элементу (addEventListener или onclick или jquery $('selector').click) и делать этот HTTP запрос (с помощью ajax, как выше написано), выводить данные куда надо. id можно записать в любой атрибут элемента (например data-myId, или например если это <a>, то просто в href, только тогда еще надо в обработчике клика отменить переход по ссылке)

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

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

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

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

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

icq: 512-765
skype: alexp.frl
По умолчанию

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

Выше ж написано все основное и что гуглить.
Alex11223 вне форума   Ответить с цитированием
Ответ

Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Java + Jsp + mysql + Spring, юзера с базы подтяrивает нормально, а когда хочу отобразить карты, то не отображает mrprim Java для Web (EE, Servlet, JSP, Tomcat, Spring MVC) 7 01.02.2017 15:20
Выбор логики работы с MEMORY (HEAP) таблицами MySql Illusiony SQL, базы данных 8 14.02.2016 01: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 10:30
JSP editor и JSP + spring Guide Jakethefish Java для Web (EE, Servlet, JSP, Tomcat, Spring MVC) 0 15.06.2010 17:16


02:32.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru