JSP - как сделать HTML (или JSP) код из базы данных

У меня есть JSP, который используется несколькими группами пользователей. Требование заключается в том, что каждая группа пользователей хочет иметь индивидуальный внешний вид при доступе к странице (с отличительным параметром). Мы предлагаем разрешить пользователям выгружать html, который им нужен, в таблицу базы данных, а jsp определит группу пользователей и отобразит соответствующий html. Любые указатели о том, как это можно сделать?

Пример: если группа пользователей 1 имеет доступ к URL-адресу abc.com/xyz?param=aaa, то jsp должен отображать HTML-код, который хранится в базе данных, соответствующей UserGroup1. аналогично, abc.com/xyz?param=bbb должен отображать HTML, сохраненный для UserGroup2.

HTML для группы 1:

<html>hello, user 1 </html>

HTML для группы 2:

<html>hello, user 2 </html>

Как мой JSP получает этот HTML-код из сервлетов или любых других классов?

Любые предложения JSF 2.0 также приветствуются.

Приведенный выше пример кода может показаться простым, но в действительности весь макет, изображения, границы, таблицы, содержимое будут отличаться

3 ответа

Различать пользователей с помощью сеанса и управлять им по API

Вместо сохранения всего HTML, который не рекомендуется, как говорит phanneman,
сохранить CSS или CSS фрагменты. например, сохранить в вашей базе данных, пути к изображениям для каждого пользователя,
цвет и т. д. в БД для каждого пользователя.
это может помочь путем извлечения определенных данных для каждой группы пользователей.

ИМО, я бы не стал хранить HTML в БД. Это не то, где оно принадлежит.

Что вы можете сделать (в JSF 2.0) - это создать "шаблонную" страницу, содержащую основные вещи, которые вы повторно используете на каждой странице: верхний колонтитул, основной текст, нижний колонтитул, CSS, JS и т. Д.

На этой странице шаблона вы можете использовать <ui:insert name="body"> тег для определения мест, которые будут определены на каждой странице.

На ваших страницах вы используете <ui:composition template="whateverPage.xhtml"/> определить ваш шаблон. Затем вы можете вставить нужный код на основе любых параметров, использующих <ui:define name="body">

JSF 2 Шаблонирование с помощью Facelets

Другие вопросы по тегам