使用JAXRS

时间:2018-11-14 08:57:32

标签: java jax-rs blogs resteasy

我是Java开发人员,我想编写自己的博客应用程序(博客作者用来与他们一起写博客),我知道这听起来很疯狂,但我只是出于学习目的,我正在使用JSF EJB Hibernate和RESTeasy工具,我开始创建数据库和视图。

从我收集的信息中,建议将博客内容存储在数据库中(以html文本格式),我发现在博客作者在CKEditor中写完博客后,我可以将其用于CKEditor之类的Javascript编辑器,然后将其与准备好的页眉和页脚之后,我会将其存储在数据库中,并且发现可以使用RESTeasy API获得博客文章。

例如(抱歉): 将博客存储在数据库中之后 我想像这样向访客展示它:

  • 包含路径和文章ID的链接

<div>
  <a href="/article/id">Read More...</a>
</div>
当访问者按下链接时,REST控制器将处理请求,使用链接中提供的ID从数据库中获取文章,并返回一个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会更好,但是我只想在这里学习如何做。

我想知道如何使用JAXRS获取存储在数据库中的html页面, html页面在应用程序中没有文件,它只是存储在数据库中,如下所示:

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

谢谢。

1 个答案:

答案 0 :(得分:1)

使用泽西岛的MVC Templates

您可以使用freemarker作为模板引擎来生成具有上下文的HTML

您的模板将类似于:

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

您可以按照示例进行操作:

  

在此示例中,FruitResource JAX-RS资源类是控制器。 Viewable实例封装了引用的数据模型,该数据模型是一个简单的String。

     

此外,我们还包括对关联视图模板的命名引用– index.ftl。

     

在此示例中,我们使用了@Template批注。这样可以避免通过Viewable将模型直接包装在模板引用中,并使我们的资源方法更具可读性。

相关问题