diff --git a/src/main/java/com/yaoyuan/jiscuss/config/WebSecurityConfig.java b/src/main/java/com/yaoyuan/jiscuss/config/WebSecurityConfig.java index 23f0b3e..9f4ec09 100644 --- a/src/main/java/com/yaoyuan/jiscuss/config/WebSecurityConfig.java +++ b/src/main/java/com/yaoyuan/jiscuss/config/WebSecurityConfig.java @@ -42,7 +42,8 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter{ "/css/**", "/js/**", "/images/**", - "/static/**" + "/static/**", + "/h2-console/**" ); } /** diff --git a/src/main/java/com/yaoyuan/jiscuss/controller/UserPostController.java b/src/main/java/com/yaoyuan/jiscuss/controller/UserPostController.java index dc95d5f..3cc12ad 100644 --- a/src/main/java/com/yaoyuan/jiscuss/controller/UserPostController.java +++ b/src/main/java/com/yaoyuan/jiscuss/controller/UserPostController.java @@ -62,6 +62,8 @@ public class UserPostController extends BaseController { List posts = postsService.findOneBy(id); + List tags = tagsService.findByDId(id); + //查询id为1且parentId为null的评论 List firstList = postsService.findAllByDIdAndparentIdNull(1); //查询id为1且parentId不为null的评论 diff --git a/src/main/java/com/yaoyuan/jiscuss/controller/UserSystemController.java b/src/main/java/com/yaoyuan/jiscuss/controller/UserSystemController.java index 93f7946..18e5b63 100644 --- a/src/main/java/com/yaoyuan/jiscuss/controller/UserSystemController.java +++ b/src/main/java/com/yaoyuan/jiscuss/controller/UserSystemController.java @@ -7,8 +7,11 @@ import com.yaoyuan.jiscuss.entity.Users; import com.yaoyuan.jiscuss.service.IDiscussionsService; import com.yaoyuan.jiscuss.service.ITagsService; import com.yaoyuan.jiscuss.service.IUsersService; +import com.yaoyuan.jiscuss.util.DelTagsUtil; +import org.apache.catalina.mbeans.MBeanUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.stereotype.Controller; @@ -51,13 +54,28 @@ public class UserSystemController extends BaseController { List useral2 = usersService.getAllList(); logger.info(">>> 第二遍的全部用户:"+useral2); - int pageSiz = 5; + int pageSiz = 10; int pageNumNew = pageNum - 1; Discussions discussions = new Discussions(); //分页获取主题帖子 Page allDiscussionsPage = discussionsService.queryAllDiscussionsList(discussions,pageNumNew,pageSiz); - List allDiscussions =allDiscussionsPage.getContent(); + List allDiscussions = allDiscussionsPage.getContent(); + List newAllD = new ArrayList<>(); + + for (Discussions dd : allDiscussions){ + Discussions newdd = new Discussions(); + BeanUtils.copyProperties(dd , newdd); + String newCon = ""; + String content = DelTagsUtil.getTextFromHtml(newdd.getContent()); + if(null != content && content.length()>30){ + newCon = content.substring(0,29); + }else{ + newCon = content; + } + newdd.setContent(newCon); + newAllD.add(newdd); + } logger.info("全部主题==>:{}",allDiscussions); @@ -72,7 +90,7 @@ public class UserSystemController extends BaseController { System.out.println(userall.toString()); map.put("data", "Jiscuss 用户"); - map.put("allDiscussions", allDiscussions); + map.put("allDiscussions", newAllD); map.put("pageDiscussions", pageNumList); map.put("allTags", allTags); map.put("tag", tag); diff --git a/src/main/java/com/yaoyuan/jiscuss/repository/TagsRepository.java b/src/main/java/com/yaoyuan/jiscuss/repository/TagsRepository.java index 708d834..433fef4 100644 --- a/src/main/java/com/yaoyuan/jiscuss/repository/TagsRepository.java +++ b/src/main/java/com/yaoyuan/jiscuss/repository/TagsRepository.java @@ -1,10 +1,17 @@ package com.yaoyuan.jiscuss.repository; +import com.yaoyuan.jiscuss.entity.Posts; import com.yaoyuan.jiscuss.entity.Tags; import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; +import java.util.List; + @Repository public interface TagsRepository extends JpaRepository { + @Query(value = "FROM Tags a, DiscussionsTags b WHERE a.id = b.tagId and b.discussionId = :dId") + List findByDId(@Param("dId")Integer dId); } diff --git a/src/main/java/com/yaoyuan/jiscuss/service/ITagsService.java b/src/main/java/com/yaoyuan/jiscuss/service/ITagsService.java index 03768ab..9a48794 100644 --- a/src/main/java/com/yaoyuan/jiscuss/service/ITagsService.java +++ b/src/main/java/com/yaoyuan/jiscuss/service/ITagsService.java @@ -9,4 +9,6 @@ public interface ITagsService { List getAllList(); Tags insert(Tags tags); + + List findByDId(Integer id); } diff --git a/src/main/java/com/yaoyuan/jiscuss/service/impl/TagsServiceImpl.java b/src/main/java/com/yaoyuan/jiscuss/service/impl/TagsServiceImpl.java index 82035f5..3bf8a89 100644 --- a/src/main/java/com/yaoyuan/jiscuss/service/impl/TagsServiceImpl.java +++ b/src/main/java/com/yaoyuan/jiscuss/service/impl/TagsServiceImpl.java @@ -5,6 +5,7 @@ import java.util.List; import javax.transaction.Transactional; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Example; import org.springframework.stereotype.Service; import com.yaoyuan.jiscuss.entity.Tags; @@ -26,6 +27,11 @@ public class TagsServiceImpl implements ITagsService { public Tags insert(Tags tags) { return tagsRepository.save(tags); } + + @Override + public List findByDId(Integer id) { + return tagsRepository.findByDId(id); + } } diff --git a/src/main/java/com/yaoyuan/jiscuss/util/DelTagsUtil.java b/src/main/java/com/yaoyuan/jiscuss/util/DelTagsUtil.java new file mode 100644 index 0000000..035cae7 --- /dev/null +++ b/src/main/java/com/yaoyuan/jiscuss/util/DelTagsUtil.java @@ -0,0 +1,59 @@ +package com.yaoyuan.jiscuss.util; + +/** + * @author yaoyuan2.chu + * @Title: + * @Package com.yaoyuan.jiscuss.util + * @Description: + * @date 2020/8/31 20:52 + */ +/** + * 去除内容页代码里的HTML标签 + * + */ +public class DelTagsUtil { + /** + * 去除html代码中含有的标签 + * @param htmlStr + * @return + */ + public static String delHtmlTags(String htmlStr) { + //定义script的正则表达式,去除js可以防止注入 + String scriptRegex="]*?>[\\s\\S]*?<\\/script>"; + //定义style的正则表达式,去除style样式,防止css代码过多时只截取到css样式代码 + String styleRegex="]*?>[\\s\\S]*?<\\/style>"; + //定义HTML标签的正则表达式,去除标签,只提取文字内容 + String htmlRegex="<[^>]+>"; + //定义空格,回车,换行符,制表符 + String spaceRegex = "\\s*|\t|\r|\n"; + + // 过滤script标签 + htmlStr = htmlStr.replaceAll(scriptRegex, ""); + // 过滤style标签 + htmlStr = htmlStr.replaceAll(styleRegex, ""); + // 过滤html标签 + htmlStr = htmlStr.replaceAll(htmlRegex, ""); + // 过滤空格等 + htmlStr = htmlStr.replaceAll(spaceRegex, ""); + return htmlStr.trim(); // 返回文本字符串 + } + /** + * 获取HTML代码里的内容 + * @param htmlStr + * @return + */ + public static String getTextFromHtml(String htmlStr){ + //去除html标签 + htmlStr = delHtmlTags(htmlStr); + //去除空格" " + htmlStr = htmlStr.replaceAll(" ",""); + return htmlStr; + } + + public static void main(String[] args){ + String htmlStr= "少年中国说。红日初升,其道大光。

河出伏流,一泻汪洋。

潜龙腾渊, 鳞爪飞扬。乳 虎啸 谷,百兽震惶。鹰隼试翼,风尘吸张。奇花初胎,矞矞皇皇。干将发硎,有作其芒。天戴其苍,地履其黄。纵有千古,横有" + + "八荒。前途似海,来日方长

美哉我少年中国,与天不老!

壮哉我中国少年,与国无疆!

"; + System.out.println(getTextFromHtml(htmlStr)); + } + +} \ No newline at end of file diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index ce3580c..d22c678 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -47,4 +47,4 @@ spring: mvc: static-path-pattern: /static/** server: - port: 8081 \ No newline at end of file + port: 80 \ No newline at end of file diff --git a/src/main/resources/data.sql b/src/main/resources/data.sql index 23ca50a..b8739b2 100644 --- a/src/main/resources/data.sql +++ b/src/main/resources/data.sql @@ -49,19 +49,19 @@ values (1, '测试标签1',null,null,null,null,null,null,null,null,null); insert into posts -values (1, 1, 1,null,1,null,'评论内容222',null,null,1,null,null,null,null); +values (1, 1, 1,null,1,null,'评论内容222',null,null,null,null,null,null,null,null); insert into posts -values (2, 1, 2,null,1,null,'评论内容333',null,null,1,null,null,null,null); +values (2, 1, 2,null,1,null,'评论内容333',null,null,1,null,null,null,null,null); insert into posts -values (3, 1, 3,null,1,1,'评论内容444',null,null,1,null,null,null,null); +values (3, 1, 3,null,1,1,'评论内容444',null,null,1,null,null,null,null,null); insert into posts -values (4, 1, 4,null,1,1,'评论内容555',null,null,1,null,null,null,null); +values (4, 1, 4,null,1,1,'评论内容555',null,null,null,null,null,null,null,null); insert into posts -values (5, 1, 5,null,1,2,'评论内容666',null,null,1,null,null,null,null); +values (5, 1, 5,null,1,null,'评论内容666',null,null,4,null,null,null,null,null); insert into posts -values (6, 1, 6,null,1,5,'评论内容777',null,null,1,null,null,null,null); +values (6, 1, 6,null,1,null,'评论内容777',null,null,5,null,null,null,null,null); diff --git a/src/main/resources/templates/discussions.ftl b/src/main/resources/templates/discussions.ftl index 691457c..e7dfaa5 100644 --- a/src/main/resources/templates/discussions.ftl +++ b/src/main/resources/templates/discussions.ftl @@ -35,7 +35,7 @@

- +
${discussions.title}
某某标签分类
@@ -57,12 +57,12 @@
用户 测试人员1 发布于
- 3 days ago + ${discussions.createTime}
diff --git a/src/main/resources/templates/index.ftl b/src/main/resources/templates/index.ftl index e858c9d..4521268 100644 --- a/src/main/resources/templates/index.ftl +++ b/src/main/resources/templates/index.ftl @@ -368,26 +368,37 @@ <#list pageDiscussions as page> - <#if page == pageNum > + <#if page == pageNum && !(username)??> ${page} - <#else> + + <#if page != pageNum && !(username)??> ${page} + <#if page == pageNum && username??> + + ${page} + + + <#if page != pageNum && username??> + + ${page} + +

- -->