Сучасна диджитал-освіта для дітей — безоплатне заняття в GoITeens ×
Mazda CX 30
×

Возможна ли автоматическая генерация Web-форм для просмотра и редактирования полей Java-классов?

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті

Допустим есть простой класс Book, и кроме него другие классы с разной структурой. Возможно ли на базе классов автоматически сгенерировать веб-страницы или веб-формы для просмотра и редактирования полей Java-классов?

public class Book {
  String title;
  String author;
  int pages;
}
👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Ценность этого решения нулевая. Данные не согласуются с пользовательским представлением, и ты столкнёшься с этим сразу как только попытаешься навесить более сложные данные чем String и int. Простой пример — есть книга, в которой ты НЕ ЗНАЕШЬ сколько страниц. Что должно оказаться в переменной? А вот ХЗ, это надо оговаривать.

Потому незачем изобретать велосипед. Данные с их зависимостями и ограничениями — это база данных. И есть любые средства доступа в базы, в том числе через Web-формы. При это база тебе будет проверять и целостность, и ограничения, и зависимости. А вот из базы данных уже собирай классы.

В чём фишка: правила данных не должны храниться в коде. Данные должны иметь собственную описательную структуру — модель данных. В общем, это целый теоретический раздел и потрачены десятки лет на то чтобы сделать из наколенных поделок вменяемые вещи. А ты хочешь вот так с разбегу по граблям-блям-блям.

Так что брось эту затею. Ценности в ней ноль даже теоретически.

Посмотрите на LightAdmin (lightadmin.org).
Я думаю это то что вы ищете.

спасибо за наводку. загружал видео, у товарища там крайне специфичный акцент. не сразу даже понял что он на английском говорит. пока еще очень плохо его понимаю. плюс даже ютуб не может автоматически сгенерировать для него субтитры на английском

Возможно ли на базе классов автоматически сгенерировать веб-страницы или веб-формы для просмотра и редактирования полей Java-классов?
Да — docs.oracle.com/javase/tutorial/reflect
Я такое делал в универе. Практическая ценность сомнительна, но «в научных целях» вполне нормальная задачка.
Более управляемый подход — это повесить аннотации на класс или его части, но тогда больше текста в описании классов.

это ближе к целям прототипирования веб-приложения

к целям прототипирования веб-приложения
Тогда вам достаточно «скафолдинга», это значительно более простая задача.
Примеры реализации:
— Spring Roo
— JHipster
— Play

спасибо за подсказку. интересная штука

а насколько такие вещи пользуют в реальных приложениях? или это все ради выступить с докладом на конференции — какая крутая штука у нас есть!

а насколько такие вещи пользуют в реальных приложениях?
На сколько я знаю, в джава мире такое не особо распространено, подобные задачи обычно решают средствами ИДЕ.
При этом, все, перечисленные выше, проекты развиваются, значит это кому-то нужно.
Хуже от того что вы ознакомитесь с еще одним подходом не будет.

а какие аналогичные инструменты есть для IDE? Пробовал установить JHipster в Убунте, но ставится не хочет

а какие аналогичные инструменты есть для IDE?
Не аналогичные инструменты, а «подобные задачи обычно решают средствами ИДЕ». В НетБинс был вроде как генератор для ДжСФ. В эклипсе были плагины под конкретные фреймворки.
Посмотрите на «Spring Roo» (но я такими генераторами не пользуюсь, поэтому это больше теоретические советы). У него еще должна быть интеграция с эклипсом.

Не знаю як в java, але в php/ruby це зветься scaffolding. Далі гуглити буде набагато легше.

Не знаю як в java, але в php/ruby це зветься scaffolding.
Скафолдинг вроде бы подразумевает что вы будете генерировать код через него (типа добавление полей через командную строку), а не на основании уже написанного кода генерит куски в разных местах программы.

Підписатись на коментарі