代码提交

This commit is contained in:
2020-08-31 22:04:08 +08:00
parent e80c55d599
commit 96c065c0a2
11 changed files with 125 additions and 19 deletions
@@ -42,7 +42,8 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter{
"/css/**",
"/js/**",
"/images/**",
"/static/**"
"/static/**",
"/h2-console/**"
);
}
/**
@@ -62,6 +62,8 @@ public class UserPostController extends BaseController {
List<Posts> posts = postsService.findOneBy(id);
List<Tags> tags = tagsService.findByDId(id);
//查询id为1且parentId为null的评论
List<Posts> firstList = postsService.findAllByDIdAndparentIdNull(1);
//查询id为1且parentId不为null的评论
@@ -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<Users> useral2 = usersService.getAllList();
logger.info(">>> 第二遍的全部用户:"+useral2);
int pageSiz = 5;
int pageSiz = 10;
int pageNumNew = pageNum - 1;
Discussions discussions = new Discussions();
//分页获取主题帖子
Page<Discussions> allDiscussionsPage = discussionsService.queryAllDiscussionsList(discussions,pageNumNew,pageSiz);
List<Discussions> allDiscussions =allDiscussionsPage.getContent();
List<Discussions> allDiscussions = allDiscussionsPage.getContent();
List<Discussions> 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);
@@ -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<Tags,Integer> {
@Query(value = "FROM Tags a, DiscussionsTags b WHERE a.id = b.tagId and b.discussionId = :dId")
List<Tags> findByDId(@Param("dId")Integer dId);
}
@@ -9,4 +9,6 @@ public interface ITagsService {
List<Tags> getAllList();
Tags insert(Tags tags);
List<Tags> findByDId(Integer id);
}
@@ -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<Tags> findByDId(Integer id) {
return tagsRepository.findByDId(id);
}
}
@@ -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="<script[^>]*?>[\\s\\S]*?<\\/script>";
//定义style的正则表达式,去除style样式,防止css代码过多时只截取到css样式代码
String styleRegex="<style[^>]*?>[\\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= "<script type>var i=1; alert(i)</script><style> .font1{font-size:12px}</style><span>少年中国说。</span>红日初升,其道大光。<h3>河出伏流,一泻汪洋。</h3>潜龙腾渊, 鳞爪飞扬。乳 虎啸 谷,百兽震惶。鹰隼试翼,风尘吸张。奇花初胎,矞矞皇皇。干将发硎,有作其芒。天戴其苍,地履其黄。纵有千古,横有" +
"八荒。<a href=\"www.baidu.com\">前途似海,来日方长</a>。<h1>美哉我少年中国,与天不老!</h1><p>壮哉我中国少年,与国无疆!</p>";
System.out.println(getTextFromHtml(htmlStr));
}
}