Resovle issue(#164)

pull/165/head
johnniang 2019-05-21 17:51:39 +08:00
parent 8dcb0b6b9a
commit 3d1aec4c22
1 changed files with 8 additions and 10 deletions

View File

@ -6,6 +6,7 @@ import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort; import org.springframework.data.domain.Sort;
import org.springframework.data.web.PageableDefault;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
import org.springframework.lang.NonNull; import org.springframework.lang.NonNull;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
@ -92,8 +93,9 @@ public class ContentFeedController {
*/ */
@GetMapping(value = {"sitemap", "sitemap.xml"}, produces = XML_MEDIA_TYPE) @GetMapping(value = {"sitemap", "sitemap.xml"}, produces = XML_MEDIA_TYPE)
@ResponseBody @ResponseBody
public String sitemapXml(Model model) throws IOException, TemplateException { public String sitemapXml(Model model,
model.addAttribute("posts", buildPosts(null)); @PageableDefault(size = Integer.MAX_VALUE, sort = "createTime", direction = DESC) Pageable pageable) throws IOException, TemplateException {
model.addAttribute("posts", buildPosts(pageable));
Template template = freeMarker.getConfiguration().getTemplate("common/web/sitemap_xml.ftl"); Template template = freeMarker.getConfiguration().getTemplate("common/web/sitemap_xml.ftl");
return FreeMarkerTemplateUtils.processTemplateIntoString(template, model); return FreeMarkerTemplateUtils.processTemplateIntoString(template, model);
} }
@ -105,8 +107,9 @@ public class ContentFeedController {
* @return String * @return String
*/ */
@GetMapping(value = "sitemap.html", produces = MediaType.TEXT_PLAIN_VALUE) @GetMapping(value = "sitemap.html", produces = MediaType.TEXT_PLAIN_VALUE)
public String sitemapHtml(Model model) { public String sitemapHtml(Model model,
model.addAttribute("posts", buildPosts(null)); @PageableDefault(size = Integer.MAX_VALUE, sort = "createTime", direction = DESC) Pageable pageable) {
model.addAttribute("posts", buildPosts(pageable));
return "common/web/sitemap_html"; return "common/web/sitemap_html";
} }
@ -142,12 +145,7 @@ public class ContentFeedController {
* @param pageable pageable * @param pageable pageable
* @return List<Post> * @return List<Post>
*/ */
private List<PostListVO> buildPosts(Pageable pageable) { private List<PostListVO> buildPosts(@NonNull Pageable pageable) {
if (pageable == null) {
Page<Post> postPage = postService.pageBy(PostStatus.PUBLISHED, null);
return postService.convertToListVo(postPage).getContent();
}
Page<Post> postPage = postService.pageBy(PostStatus.PUBLISHED, pageable); Page<Post> postPage = postService.pageBy(PostStatus.PUBLISHED, pageable);
Page<PostListVO> posts = postService.convertToListVo(postPage); Page<PostListVO> posts = postService.convertToListVo(postPage);
return posts.getContent(); return posts.getContent();