我是Java开发人员,我想编写自己的博客应用程序(博客作者用来与他们一起写博客),我知道这听起来很疯狂,但我只是出于学习目的,我正在使用JSF EJB Hibernate和RESTeasy工具,我开始创建数据库和视图。
从我收集的信息中,建议将博客内容存储在数据库中(以html文本格式),我发现在博客作者在CKEditor中写完博客后,我可以将其用于CKEditor之类的Javascript编辑器,然后将其与准备好的页眉和页脚之后,我会将其存储在数据库中,并且发现可以使用RESTeasy API获得博客文章。
例如(抱歉): 将博客存储在数据库中之后 我想像这样向访客展示它:
<div>
<a href="/article/id">Read More...</a>
</div>
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>"
谢谢。
答案 0 :(得分:1)
使用泽西岛的MVC Templates
您可以使用freemarker作为模板引擎来生成具有上下文的HTML
您的模板将类似于:
<html><head>...</head> <body> ${article.toString()}</body> </html>
您可以按照示例进行操作:
在此示例中,FruitResource JAX-RS资源类是控制器。 Viewable实例封装了引用的数据模型,该数据模型是一个简单的String。
此外,我们还包括对关联视图模板的命名引用– index.ftl。
在此示例中,我们使用了@Template批注。这样可以避免通过Viewable将模型直接包装在模板引用中,并使我们的资源方法更具可读性。