();
88 |
89 | viewObjects.put("templateName", "articleForm.ftl");
90 |
91 | viewObjects.put("article", articleDbService.readOne(id));
92 |
93 | return modelAndView(viewObjects, "layout.ftl");
94 | }
95 | });
96 |
97 | post(new Route("/article/update/:id") {
98 | @Override
99 | public Object handle(Request request, Response response) {
100 | Integer id = Integer.parseInt(request.queryParams("article-id"));
101 | String title = request.queryParams("article-title");
102 | String summary = request.queryParams("article-summary");
103 | String content = request.queryParams("article-content");
104 |
105 | articleDbService.update(id, title, summary, content);
106 |
107 | response.status(200);
108 | response.redirect("/");
109 | return "";
110 | }
111 | });
112 |
113 | get(new Route("/article/delete/:id") {
114 | @Override
115 | public Object handle(Request request, Response response) {
116 | Integer id = Integer.parseInt(request.params(":id"));
117 |
118 | articleDbService.delete(id);
119 |
120 | response.status(200);
121 | response.redirect("/");
122 | return "";
123 | }
124 | });
125 | }
126 | }
--------------------------------------------------------------------------------
/src/main/resources/spark/template/freemarker/articleForm.ftl:
--------------------------------------------------------------------------------
1 |
2 |
19 |
20 |
21 |
22 |
value='Update'<#else>value='Publish'#if> class="btn btn-primary" form='article-create-form' />
23 |
--------------------------------------------------------------------------------
/src/main/resources/spark/template/freemarker/articleList.ftl:
--------------------------------------------------------------------------------
1 | <#if hasNoArticles??>
2 |
3 |
${hasNoArticles}
4 |
5 | <#else>
6 |
7 | <#list articles as article>
8 |
${article.getTitle()}
9 | ${article.getCreatedAt()}
10 | ${article.getSummaryLink()}
11 | ${article.getEditLink()} | ${article.getDeleteLink()}
12 | #list>
13 |
14 | #if>
--------------------------------------------------------------------------------
/src/main/resources/spark/template/freemarker/articleRead.ftl:
--------------------------------------------------------------------------------
1 |
2 |
${article.getTitle()}
3 | ${article.getCreatedAt()}
4 | ${article.getEditLink()} | ${article.getDeleteLink()}
5 | ${article.getContent()}
6 |
--------------------------------------------------------------------------------
/src/main/resources/spark/template/freemarker/layout.ftl:
--------------------------------------------------------------------------------
1 |
2 |
3 | Spark Blog
4 |
5 |
6 |
7 |
8 |
9 |
10 |
28 |
29 |
30 | <#include "${templateName}">
31 |
32 |
33 |
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------