代码提交分页

This commit is contained in:
2020-08-13 17:47:55 +08:00
parent 1c1cd6edb3
commit e954bc59f2
10 changed files with 201 additions and 87 deletions
@@ -42,8 +42,7 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter{
"/css/**", "/css/**",
"/js/**", "/js/**",
"/images/**", "/images/**",
"/static/**", "/static/**"
"/index/**"
); );
} }
/** /**
@@ -69,7 +68,7 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter{
.loginProcessingUrl("/login") //登录POST请求路径 .loginProcessingUrl("/login") //登录POST请求路径
.usernameParameter("username") //登录用户名参数 .usernameParameter("username") //登录用户名参数
.passwordParameter("password") //登录密码参数 .passwordParameter("password") //登录密码参数
.defaultSuccessUrl("/main") //默认登录成功页面 .defaultSuccessUrl("/index") //默认登录成功页面
.and() .and()
.exceptionHandling() .exceptionHandling()
.accessDeniedHandler(customAccessDeniedHandler) //无权限处理器 .accessDeniedHandler(customAccessDeniedHandler) //无权限处理器
@@ -5,7 +5,9 @@ import java.util.Map;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import com.yaoyuan.jiscuss.entity.Posts;
import com.yaoyuan.jiscuss.entity.UserInfo; import com.yaoyuan.jiscuss.entity.UserInfo;
import com.yaoyuan.jiscuss.service.IPostsService;
import org.json.JSONObject; import org.json.JSONObject;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@@ -39,8 +41,9 @@ public class UserPostController extends BaseController {
@Autowired @Autowired
private ITagsService tagsService; private ITagsService tagsService;
@Autowired
private IPostsService postsService;
//首页查看主题列表(各种条件筛选,最热最新标签等) //首页查看主题列表(各种条件筛选,最热最新标签等)
@@ -92,6 +95,28 @@ public class UserPostController extends BaseController {
//删除主题 //删除主题
//新建评论 //新建评论
@PostMapping(value = "/newpost")
@ResponseBody
public String newPosts(@RequestBody Posts posts) {
logger.info(">>> newpost"+posts);
ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes)RequestContextHolder.getRequestAttributes();
HttpServletRequest request = servletRequestAttributes.getRequest();
UserInfo user = getUserInfo(request);
if(user != null){
posts.setCreate_id( user.getId());
}
posts.setCreate_time(new Date());
Posts savePost = postsService.insert(posts);
JSONObject resultobj = new JSONObject();
logger.info(">>>{}",savePost );
resultobj.put("msg", "添加成功");
resultobj.put("flag", true);
return resultobj.toString(); //
}
//删除评论 //删除评论
@@ -39,17 +39,23 @@ public class UserSystemController extends BaseController {
private ITagsService tagsService; private ITagsService tagsService;
//首页 //首页
@RequestMapping("/") @RequestMapping({"/","/main","/index"})
public String home(HttpServletRequest request, ModelMap map) { public String home(@RequestParam(defaultValue = "all") String tag, @RequestParam(defaultValue = "all") String type,@RequestParam(defaultValue = "1") Integer
pageNum, HttpServletRequest request, ModelMap map) {
logger.info(">>> index"); logger.info(">>> index");
logger.info(">>> tag:" + tag);
logger.info(">>> pageNum:" + pageNum);
List<Users> userall = usersService.getAllList(); List<Users> userall = usersService.getAllList();
logger.info(">>> 第一遍的全部用户:"+userall); logger.info(">>> 第一遍的全部用户:"+userall);
List<Users> useral2 = usersService.getAllList(); List<Users> useral2 = usersService.getAllList();
logger.info(">>> 第二遍的全部用户:"+useral2); logger.info(">>> 第二遍的全部用户:"+useral2);
int pageSiz = 5;
int pageNumNew = pageNum - 1;
//分页获取主题帖子 //分页获取主题帖子
Page<Discussions> allDiscussionsPage = discussionsService.queryAllDiscussionsList(0,20); Page<Discussions> allDiscussionsPage = discussionsService.queryAllDiscussionsList(pageNumNew,pageSiz);
List<Discussions> allDiscussions =allDiscussionsPage.getContent(); List<Discussions> allDiscussions =allDiscussionsPage.getContent();
@@ -67,6 +73,10 @@ public class UserSystemController extends BaseController {
map.put("allDiscussions", allDiscussions); map.put("allDiscussions", allDiscussions);
map.put("pageDiscussions", pageNumList); map.put("pageDiscussions", pageNumList);
map.put("allTags", allTags); map.put("allTags", allTags);
map.put("tag", tag);
map.put("pageNum", pageNum);
map.put("pageNumAll", pageNumList.size());
UserInfo user = getUserInfo(request); UserInfo user = getUserInfo(request);
if(user != null){ if(user != null){
map.put("username", user.getUsername()); map.put("username", user.getUsername());
@@ -76,52 +86,43 @@ public class UserSystemController extends BaseController {
} }
//首页main // //首页main
@RequestMapping("/main") // @RequestMapping("/main")
public String homePage(HttpServletRequest request, ModelMap map) { // public String homePage(HttpServletRequest request, ModelMap map) {
logger.info(">>> index"); // logger.info(">>> index");
//
//分页获取主题帖子 // //分页获取主题帖子
Page<Discussions> allDiscussionsPage = discussionsService.queryAllDiscussionsList(0,20); // Page<Discussions> allDiscussionsPage = discussionsService.queryAllDiscussionsList(0,20);
//
List<Discussions> allDiscussions =allDiscussionsPage.getContent(); // List<Discussions> allDiscussions =allDiscussionsPage.getContent();
//
logger.info("全部主题==>{}",allDiscussions); // logger.info("全部主题==>{}",allDiscussions);
//
//获取主题帖子的分页数据 // //获取主题帖子的分页数据
List<String> pageNumList = getPageNumList(allDiscussionsPage.getTotalPages()); // List<String> pageNumList = getPageNumList(allDiscussionsPage.getTotalPages());
//
//获取所有标签(以后尝试去缓存中取) // //获取所有标签(以后尝试去缓存中取)
List<Tags> allTags = tagsService.getAllList(); // List<Tags> allTags = tagsService.getAllList();
logger.info("全部标签==>{}",allTags); // logger.info("全部标签==>{}",allTags);
//
map.put("data", "Jiscuss 用户"); // map.put("data", "Jiscuss 用户");
map.put("allDiscussions", allDiscussions); // map.put("allDiscussions", allDiscussions);
map.put("pageDiscussions", pageNumList); // map.put("pageDiscussions", pageNumList);
map.put("allTags", allTags); // map.put("allTags", allTags);
UserInfo user = getUserInfo(request); // UserInfo user = getUserInfo(request);
if(user != null){ // if(user != null){
map.put("username", user.getUsername()); // map.put("username", user.getUsername());
map.put("data", "Jiscuss 用户:" + user.getUsername()); // map.put("data", "Jiscuss 用户:" + user.getUsername());
} // }
return "index"; // return "index";
} // }
private List<String> getPageNumList(int size) { private List<String> getPageNumList(int size) {
List<String> pageNumList = new ArrayList<String>(); List<String> pageNumList = new ArrayList<String>();
if(size>5) { for(int i = 0;i<size;i++) {
pageNumList.add("1"); pageNumList.add(""+(i+1));
pageNumList.add("2"); }
pageNumList.add("...");
pageNumList.add(""+(size-1));
pageNumList.add(""+(size));
}else {
for(int i = 0;i<size;i++) {
pageNumList.add(""+(i+1));
}
}
return pageNumList; return pageNumList;
} }
@@ -7,7 +7,13 @@ import org.springframework.beans.factory.annotation.Autowired;
import com.yaoyuan.jiscuss.entity.Posts; import com.yaoyuan.jiscuss.entity.Posts;
import com.yaoyuan.jiscuss.repository.PostsRepository; import com.yaoyuan.jiscuss.repository.PostsRepository;
import com.yaoyuan.jiscuss.service.IPostsService; import com.yaoyuan.jiscuss.service.IPostsService;
import org.springframework.stereotype.Service;
import javax.transaction.Transactional;
@Service
@Transactional
public class PostsServiceImpl implements IPostsService { public class PostsServiceImpl implements IPostsService {
@Autowired @Autowired
private PostsRepository postsRepository; private PostsRepository postsRepository;
@@ -0,0 +1,50 @@
let discussionsId = null;
function setDiscussionsId(id) {
console.log('setDiscussionsId'+id);
discussionsId = id; // id
}
$("#addPost").click(function () {
console.log("点击 addPost");
console.log(username);
console.log(discussionsId);
if(username && username!=null){
var token = $("meta[name='_csrf']").attr("content");
var header = $("meta[name='_csrf_header']").attr("content");
console.warn(header)
console.warn(token)
var title = $("#postcontent").val();
console.log(title);
$.ajax({
type: "POST",
url: "/newpost",
data: JSON.stringify({
content: content,
discussion_id: discussionsId
}),
contentType: 'application/json',
beforeSend: function(request) {
request.setRequestHeader(header, token); // 添加 CSRF Token
},
dataType: "JSON",
success: function (data) {
console.log(data);
if(data.flag){
window.alert(title+',添加成功!');
$('.ui.modal.createNewDiccuss').modal('hide');
location.reload();
}else{
window.alert(data.msg);
return false;
}
}
});
}else{
massage('您未登录,请先登录!','');
}
});
@@ -1,4 +1,43 @@
let pageNum = null;
let pageAll = null;
let pageUrl= '/';
function setpageNum(data,allList) {
var url = window.location.href;
console.log('当前url'+url)
if(url.indexOf('index') > 0){
pageUrl= '/index';
}
console.log('当前页码:'+data)
pageNum = parseInt(data) // pageNum
pageAll = parseInt(allList)
}
$("#upPage").click(function () {
console.log("点击 upPage");
console.log('当前页码:'+pageNum);
if(pageNum > 1){
let page = pageNum - 1
window.location.href=pageUrl + "?pageNum=" + page;
}else{
massage('已经是首页!','');
}
});
$("#nextPage").click(function () {
console.log("点击 nextPage");
console.log('当前页码:'+pageNum);
console.log('当前pageAll页码:'+pageAll);
if((pageNum + 1) <= pageAll){
let page = pageNum + 1
window.location.href=pageUrl + "?pageNum=" + page;
}else{
massage('已经是尾页!','');
}
});
$("#createNewDiccuss").click(function () { $("#createNewDiccuss").click(function () {
console.log("点击 createNewDiccuss"); console.log("点击 createNewDiccuss");
console.log(username); console.log(username);
@@ -46,6 +85,7 @@ $("#newdiscussions").click(function(){
if(data.flag){ if(data.flag){
window.alert(title+',添加成功!'); window.alert(title+',添加成功!');
$('.ui.modal.createNewDiccuss').modal('hide'); $('.ui.modal.createNewDiccuss').modal('hide');
location.reload();
}else{ }else{
window.alert(data.msg); window.alert(data.msg);
return false; return false;
+5 -27
View File
@@ -151,35 +151,11 @@
</div> </div>
</div> </div>
</div> </div>
<div class="ui borderless menu">
<a class="icon item">
<i class="left chevron icon"></i>
</a>
<a class="item">
1
</a>
<a class="item">
2
</a>
<div class="disabled item">
...
</div>
<a class="item">
10
</a>
<a class="item">
11
</a>
<a class="icon item"> <i class="right chevron icon"></i>
</a>
</div>
<form class="ui reply form"> <form class="ui reply form">
<div class="field"> <div class="field">
<textarea></textarea> <textarea id="postcontent"></textarea>
</div> </div>
<div class="ui blue labeled submit icon button"> <div class="ui blue labeled submit icon button" id="addPost">
<i class="icon edit"></i> 添加评论 <i class="icon edit"></i> 添加评论
</div> </div>
</form> </form>
@@ -301,10 +277,12 @@
<#if username??> <#if username??>
console.log('已经登陆:' + username); console.log('已经登陆:' + username);
</#if> </#if>
setDiscussionsId('${discussions.id}');
}); });
</script> </script>
<script type="text/javascript" charset="UTF-8" src="/static/js/user/discussions.js"></script>
</body> </body>
</html> </html>
+6 -1
View File
@@ -43,4 +43,9 @@
<a class="item" href="fixed.php#">隐私政策</a> <a class="item" href="fixed.php#">隐私政策</a>
</div> </div>
</div> </div>
</div> </div>
<script type="text/javascript">
function massage(msg,type){
window.alert(msg);
}
</script>
+4 -1
View File
@@ -28,7 +28,10 @@
</div> </div>
<div class="item" id="userlogin"> <div class="item" id="userlogin">
<#if username??> <#if username??>
${username} <a href="/logout" id="loginOut">注销</a> <form class="ui large form" action="/logout" id="logoutForm" method="post" style="display: none;">
<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}"/>
</form>
${username} <a href="javascript:document.getElementById('logoutForm').submit();">注销</a>
<#else> <#else>
<a href="/login" id="loginmodel">登录 & 注册</a> <a href="/login" id="loginmodel">登录 & 注册</a>
</#if> </#if>
+16 -9
View File
@@ -32,7 +32,7 @@
<div class="ui container" id="container"> <div class="ui container" id="container">
<div class="ui info message"> <div class="ui info message">
<i class="close icon"></i> <i class="close icon"></i>
<div class="header">欢迎来到这里,${data},主题数: ${allDiscussions?size} ,主题页数:${pageDiscussions?size} <div class="header">欢迎来到这里,${data},当前页主题数: ${allDiscussions?size} ,主题页数:${pageDiscussions?size}
,标签数 ${allTags?size} </div> ,标签数 ${allTags?size} </div>
<ul class="list"> <ul class="list">
<li>JAVA + DISCUSS = JISCUSS 。</li> <li>JAVA + DISCUSS = JISCUSS 。</li>
@@ -377,15 +377,21 @@
<div class="ui borderless menu"> <div class="ui borderless menu">
<a class="icon item"> <a class="icon item" id="upPage">
<i class="left chevron icon"></i> <i class="left chevron icon"></i>
</a> </a>
<#list pageDiscussions as page> <#list pageDiscussions as page>
<a class="item"> <#if page == pageNum >
${page} <a class="item" style=" background-color: #7d827d;" href="/?pageNum=${page}">
</a> ${page}
</a>
<#else>
<a class="item" href="/?pageNum=${page}">
${page}
</a>
</#if>
</#list> </#list>
<a class="icon item"> <i class="right chevron icon"></i> <a class="icon item" id="nextPage"> <i class="right chevron icon"></i>
</a> </a>
</div> </div>
@@ -435,6 +441,10 @@
setusername('${username}'); setusername('${username}');
console.log('已经登陆:' + username); console.log('已经登陆:' + username);
</#if> </#if>
console.log('pageNum' + '${pageNum}');
console.log('pageNumAll' + '${pageNumAll}');
setpageNum('${pageNum}','${pageNumAll}');
var token = $("meta[name='_csrf']").attr("content"); var token = $("meta[name='_csrf']").attr("content");
if(token == '' && username && username != null){ if(token == '' && username && username != null){
@@ -443,9 +453,6 @@
} }
}); });
function massage(msg,type){
window.alert(msg);
}
</script> </script>
<script type="text/javascript" charset="UTF-8" src="/static/js/user/system.js"></script> <script type="text/javascript" charset="UTF-8" src="/static/js/user/system.js"></script>