Size: a a a

Java/Kotlin and more

2021 January 08

АК

Артём Котов... in Java/Kotlin and more
Human Human
Нужно чтобы лок остался, если приложение упадет.
А как приложение узнает о том, что пользователь прекратил редактирование таблицы?
источник

АК

Артём Котов... in Java/Kotlin and more
Если лок создаётся при открытии страницы редактирования, то может ли быть такое, что пользователь просто закроет вкладку, а на таблице так и будет висеть лок?
источник

HH

Human Human in Java/Kotlin and more
Артём Котов
А как приложение узнает о том, что пользователь прекратил редактирование таблицы?
Явный вызов снятия блокировки или таймер бездействия истек
источник

HH

Human Human in Java/Kotlin and more
+ думаю poll с фронта
источник

АК

Артём Котов... in Java/Kotlin and more
Я бы с помощью JS регулярно слал запросы к приложению, пока вкладка редактирования открыта
источник

АК

Артём Котов... in Java/Kotlin and more
Если была закрыта вкладка и последний запрос был сделан больше N секунд (минут?) назад, приложение снимает лок
источник

АК

Артём Котов... in Java/Kotlin and more
В случае, если приложение упало, а потом опять поднялось, от пользователя снова будут приходить эти запросы регулярные и лок восстановится. Так можно обойтись и без БД
источник

HH

Human Human in Java/Kotlin and more
Артём Котов
В случае, если приложение упало, а потом опять поднялось, от пользователя снова будут приходить эти запросы регулярные и лок восстановится. Так можно обойтись и без БД
Но так получается любой клиент может посылать такие запросы. И перехватит тот, кто первый пошлет таковой после поднятия приложения
источник

k

kuzznya in Java/Kotlin and more
Тогда держите соединение
источник

АК

Артём Котов... in Java/Kotlin and more
Human Human
Но так получается любой клиент может посылать такие запросы. И перехватит тот, кто первый пошлет таковой после поднятия приложения
Имеется в виду злонамеренное использование?
источник

IV

Ilja V in Java/Kotlin and more
Othernik
Ой, этож динамически создаваемое. Проще наверное onclick на кнопку повесить, если надо нажатия обрабатывать.
Так и сделал... Теперь нужно передать переменную из JS в th:value и отправить как параметр в контроллер...
источник

IV

Ilja V in Java/Kotlin and more
источник

O

Othernik in Java/Kotlin and more
Ilja V
Так и сделал... Теперь нужно передать переменную из JS в th:value и отправить как параметр в контроллер...
Это уже хз. Имхо таймлиф для элементарщины больше. Проще сделать полноценный фронт. Хотя по идее должны быть способы.
источник

C

Captcha bot in Java/Kotlin and more
Ирина Гордеева, если ты не бот, нажми "два". Ботов удалено: 398.
источник

HH

Human Human in Java/Kotlin and more
Артём Котов
Имеется в виду злонамеренное использование?
Да. Ну и хотелось бы чтобы контроль был на беке а не на фронте. Мало ли фронтендеры накосячат
источник

АК

Артём Котов... in Java/Kotlin and more
Human Human
Да. Ну и хотелось бы чтобы контроль был на беке а не на фронте. Мало ли фронтендеры накосячат
Лок таблицы всё равно инициируется клиентом
источник

АК

Артём Котов... in Java/Kotlin and more
Так что тут в любом случае можно нашкодить
источник

C

Captcha bot in Java/Kotlin and more
Josue Sanchez, если ты не бот, нажми "восемь". Ботов удалено: 398.
источник
2021 January 09

C

Cyclone in Java/Kotlin and more
Ilja V
Подскажите как обратиться по th:id к динамическому элементу таблицы. Таблица создается с помощью Thymeleaf и затем нужно повесить eventlistener на каждую кнопку ...если обратиться просто по id то только первый элемент (кнопка) работает
Ерунду делаешь. Повесь на row data-атрибуты, например data-id="${element.id}", а на кнопку добавь класс вида class="js-update". В js-коде по событию document.ready вешай нужный listener на элемент по классу js-update, который найдёт data-id у родительского row.
И никаких онкликов в html.
источник

C

Cyclone in Java/Kotlin and more
Ilja V
Так и сделал... Теперь нужно передать переменную из JS в th:value и отправить как параметр в контроллер...
Update get'ом не делают, нужен post.
Если ты перешёл на страницу редактирования какой-то сущности, тебе на серверсайде известен id этой сущности - пиши id тимлифом.
источник