получить HTML-страницу, используя JAXRS - PullRequest
0 голосов
/ 14 ноября 2018

Я Java-разработчик, я хочу написать свое собственное приложение для блогов (с которым блоггеры пишут свои блоги), я знаю, что это может показаться странным, но я хочу, чтобы оно было только для учебы, я использую JSF EJB Hibernate и RESTeasy инструменты, я запустил его, я создал базу данных и представление.

Из информации, которую я собрал, рекомендуется хранить содержимое блога в базе данных (в формате html). Я обнаружил, что могу использовать этот редактор Javascript, такой как CKEditor, после того, как блоггер напишет свой блог в CKEditor, с которым я конкатенирую подготовленный верхний и нижний колонтитулы, после чего я сохраню их в базе данных, и я обнаружил, что могу получить сообщение в блоге, используя RESTeasy API.

В качестве примера (извините): после того, как блог хранится в базе данных Я хочу представить это посетителям, как это:

  • ссылка, содержащая путь и идентификатор статьи

<div>
  <a href="/article/id">Read More...</a>
</div>
когда посетитель нажимает на ссылку, REST Controller обрабатывает запрос, извлекает статью из базы данных, используя предоставленный идентификатор в ссылке, и возвращает HTML-страницу (не создавая ее статически).

RESTeasy часть, возможно, что-то вроде этого:

@Stateless
@Path("/article/")
public class ArticleResource {

@EJB
private ArticleService articleService;

@GET
@Path("/{id}")
@Produces(value = MediaType.TEXT_HTML)
public Response getArticleById(@PathParam("id") Long id){
//get article post from the database
    Article article = articleService.findById(id);
    //something here i didn't know 
    //return article post as an html page
}

}

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

Я знаю, что, возможно, с помощью Spring это может быть лучше, но я хочу просто узнать здесь, как это сделать.

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

"<html><head>...</head> <body>...content of the blog here</body> </html>"

Заранее спасибо.

1 Ответ

0 голосов
/ 14 ноября 2018

Используйте Шаблоны MVC Джерси

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

Ваш шаблон будет похож на:

<html><head>...</head> <body> ${article.toString()}</body> </html>

Вы можете следовать примеру:

В этом примере класс ресурсов FruitResource JAX-RS является контроллером.Экземпляр Viewable инкапсулирует ссылочную модель данных, которая представляет собой простую строку.

Кроме того, мы также включаем именованную ссылку на связанный шаблон представления - index.ftl.

В этом примере мы 'мы использовали аннотацию @Template.Это позволяет избежать оборачивания нашей модели непосредственно в ссылку на шаблон через Viewable и делает наш метод ресурсов более читабельным.

...