代码提交分页

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/**",
"/js/**",
"/images/**",
"/static/**",
"/index/**"
"/static/**"
);
}
/**
@@ -69,7 +68,7 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter{
.loginProcessingUrl("/login") //登录POST请求路径
.usernameParameter("username") //登录用户名参数
.passwordParameter("password") //登录密码参数
.defaultSuccessUrl("/main") //默认登录成功页面
.defaultSuccessUrl("/index") //默认登录成功页面
.and()
.exceptionHandling()
.accessDeniedHandler(customAccessDeniedHandler) //无权限处理器
@@ -5,7 +5,9 @@ import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import com.yaoyuan.jiscuss.entity.Posts;
import com.yaoyuan.jiscuss.entity.UserInfo;
import com.yaoyuan.jiscuss.service.IPostsService;
import org.json.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -39,8 +41,9 @@ public class UserPostController extends BaseController {
@Autowired
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;
//首页
@RequestMapping("/")
public String home(HttpServletRequest request, ModelMap map) {
@RequestMapping({"/","/main","/index"})
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(">>> tag:" + tag);
logger.info(">>> pageNum:" + pageNum);
List<Users> userall = usersService.getAllList();
logger.info(">>> 第一遍的全部用户:"+userall);
List<Users> useral2 = usersService.getAllList();
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();
@@ -67,6 +73,10 @@ public class UserSystemController extends BaseController {
map.put("allDiscussions", allDiscussions);
map.put("pageDiscussions", pageNumList);
map.put("allTags", allTags);
map.put("tag", tag);
map.put("pageNum", pageNum);
map.put("pageNumAll", pageNumList.size());
UserInfo user = getUserInfo(request);
if(user != null){
map.put("username", user.getUsername());
@@ -76,52 +86,43 @@ public class UserSystemController extends BaseController {
}
//首页main
@RequestMapping("/main")
public String homePage(HttpServletRequest request, ModelMap map) {
logger.info(">>> index");
//分页获取主题帖子
Page<Discussions> allDiscussionsPage = discussionsService.queryAllDiscussionsList(0,20);
List<Discussions> allDiscussions =allDiscussionsPage.getContent();
logger.info("全部主题==>{}",allDiscussions);
//获取主题帖子的分页数据
List<String> pageNumList = getPageNumList(allDiscussionsPage.getTotalPages());
//获取所有标签(以后尝试去缓存中取)
List<Tags> allTags = tagsService.getAllList();
logger.info("全部标签==>{}",allTags);
map.put("data", "Jiscuss 用户");
map.put("allDiscussions", allDiscussions);
map.put("pageDiscussions", pageNumList);
map.put("allTags", allTags);
UserInfo user = getUserInfo(request);
if(user != null){
map.put("username", user.getUsername());
map.put("data", "Jiscuss 用户:" + user.getUsername());
}
return "index";
}
// //首页main
// @RequestMapping("/main")
// public String homePage(HttpServletRequest request, ModelMap map) {
// logger.info(">>> index");
//
// //分页获取主题帖子
// Page<Discussions> allDiscussionsPage = discussionsService.queryAllDiscussionsList(0,20);
//
// List<Discussions> allDiscussions =allDiscussionsPage.getContent();
//
// logger.info("全部主题==>{}",allDiscussions);
//
// //获取主题帖子的分页数据
// List<String> pageNumList = getPageNumList(allDiscussionsPage.getTotalPages());
//
// //获取所有标签(以后尝试去缓存中取)
// List<Tags> allTags = tagsService.getAllList();
// logger.info("全部标签==>{}",allTags);
//
// map.put("data", "Jiscuss 用户");
// map.put("allDiscussions", allDiscussions);
// map.put("pageDiscussions", pageNumList);
// map.put("allTags", allTags);
// UserInfo user = getUserInfo(request);
// if(user != null){
// map.put("username", user.getUsername());
// map.put("data", "Jiscuss 用户:" + user.getUsername());
// }
// return "index";
// }
private List<String> getPageNumList(int size) {
List<String> pageNumList = new ArrayList<String>();
if(size>5) {
pageNumList.add("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));
}
}
for(int i = 0;i<size;i++) {
pageNumList.add(""+(i+1));
}
return pageNumList;
}
@@ -7,7 +7,13 @@ import org.springframework.beans.factory.annotation.Autowired;
import com.yaoyuan.jiscuss.entity.Posts;
import com.yaoyuan.jiscuss.repository.PostsRepository;
import com.yaoyuan.jiscuss.service.IPostsService;
import org.springframework.stereotype.Service;
import javax.transaction.Transactional;
@Service
@Transactional
public class PostsServiceImpl implements IPostsService {
@Autowired
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 () {
console.log("点击 createNewDiccuss");
console.log(username);
@@ -46,6 +85,7 @@ $("#newdiscussions").click(function(){
if(data.flag){
window.alert(title+',添加成功!');
$('.ui.modal.createNewDiccuss').modal('hide');
location.reload();
}else{
window.alert(data.msg);
return false;
+5 -27
View File
@@ -151,35 +151,11 @@
</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">
<div class="field">
<textarea></textarea>
<textarea id="postcontent"></textarea>
</div>
<div class="ui blue labeled submit icon button">
<div class="ui blue labeled submit icon button" id="addPost">
<i class="icon edit"></i> 添加评论
</div>
</form>
@@ -301,10 +277,12 @@
<#if username??>
console.log('已经登陆:' + username);
</#if>
setDiscussionsId('${discussions.id}');
});
</script>
<script type="text/javascript" charset="UTF-8" src="/static/js/user/discussions.js"></script>
</body>
</html>
+6 -1
View File
@@ -43,4 +43,9 @@
<a class="item" href="fixed.php#">隐私政策</a>
</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 class="item" id="userlogin">
<#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>
<a href="/login" id="loginmodel">登录 & 注册</a>
</#if>
+16 -9
View File
@@ -32,7 +32,7 @@
<div class="ui container" id="container">
<div class="ui info message">
<i class="close icon"></i>
<div class="header">欢迎来到这里,${data},主题数: ${allDiscussions?size} ,主题页数:${pageDiscussions?size}
<div class="header">欢迎来到这里,${data},当前页主题数: ${allDiscussions?size} ,主题页数:${pageDiscussions?size}
,标签数 ${allTags?size} </div>
<ul class="list">
<li>JAVA + DISCUSS = JISCUSS 。</li>
@@ -377,15 +377,21 @@
<div class="ui borderless menu">
<a class="icon item">
<a class="icon item" id="upPage">
<i class="left chevron icon"></i>
</a>
<#list pageDiscussions as page>
<a class="item">
${page}
</a>
<#if page == pageNum >
<a class="item" style=" background-color: #7d827d;" href="/?pageNum=${page}">
${page}
</a>
<#else>
<a class="item" href="/?pageNum=${page}">
${page}
</a>
</#if>
</#list>
<a class="icon item"> <i class="right chevron icon"></i>
<a class="icon item" id="nextPage"> <i class="right chevron icon"></i>
</a>
</div>
@@ -435,6 +441,10 @@
setusername('${username}');
console.log('已经登陆:' + username);
</#if>
console.log('pageNum' + '${pageNum}');
console.log('pageNumAll' + '${pageNumAll}');
setpageNum('${pageNum}','${pageNumAll}');
var token = $("meta[name='_csrf']").attr("content");
if(token == '' && username && username != null){
@@ -443,9 +453,6 @@
}
});
function massage(msg,type){
window.alert(msg);
}
</script>
<script type="text/javascript" charset="UTF-8" src="/static/js/user/system.js"></script>