新建主题完善
This commit is contained in:
@@ -69,7 +69,7 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter{
|
|||||||
.loginProcessingUrl("/login") //登录POST请求路径
|
.loginProcessingUrl("/login") //登录POST请求路径
|
||||||
.usernameParameter("username") //登录用户名参数
|
.usernameParameter("username") //登录用户名参数
|
||||||
.passwordParameter("password") //登录密码参数
|
.passwordParameter("password") //登录密码参数
|
||||||
.defaultSuccessUrl("/") //默认登录成功页面
|
.defaultSuccessUrl("/main") //默认登录成功页面
|
||||||
.and()
|
.and()
|
||||||
.exceptionHandling()
|
.exceptionHandling()
|
||||||
.accessDeniedHandler(customAccessDeniedHandler) //无权限处理器
|
.accessDeniedHandler(customAccessDeniedHandler) //无权限处理器
|
||||||
|
|||||||
@@ -22,7 +22,6 @@ public class TestController {
|
|||||||
|
|
||||||
|
|
||||||
@RequestMapping("/world")
|
@RequestMapping("/world")
|
||||||
|
|
||||||
public String world(Map<String, Object> model) {
|
public String world(Map<String, Object> model) {
|
||||||
model.put("data","2019");
|
model.put("data","2019");
|
||||||
// request.setAttribute("name", "xxxxxxxxx");
|
// request.setAttribute("name", "xxxxxxxxx");
|
||||||
|
|||||||
@@ -48,11 +48,7 @@ public class UserSystemController extends BaseController {
|
|||||||
List<Users> useral2 = usersService.getAllList();
|
List<Users> useral2 = usersService.getAllList();
|
||||||
logger.info(">>> 第二遍的全部用户:"+useral2);
|
logger.info(">>> 第二遍的全部用户:"+useral2);
|
||||||
|
|
||||||
String username ="";
|
|
||||||
|
|
||||||
//分页获取主题帖子
|
//分页获取主题帖子
|
||||||
// List<Discussions> allDiscussions = discussionsService.getAllList();
|
|
||||||
|
|
||||||
Page<Discussions> allDiscussionsPage = discussionsService.queryAllDiscussionsList(0,20);
|
Page<Discussions> allDiscussionsPage = discussionsService.queryAllDiscussionsList(0,20);
|
||||||
|
|
||||||
List<Discussions> allDiscussions =allDiscussionsPage.getContent();
|
List<Discussions> allDiscussions =allDiscussionsPage.getContent();
|
||||||
@@ -80,6 +76,38 @@ 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";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
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) {
|
if(size>5) {
|
||||||
|
|||||||
@@ -4,51 +4,3 @@ function setusername(name) {
|
|||||||
console.log('已经登陆:'+name);
|
console.log('已经登陆:'+name);
|
||||||
username = name; // name
|
username = name; // name
|
||||||
}
|
}
|
||||||
|
|
||||||
$("#loginBtn").click(function(){
|
|
||||||
$.ajax({
|
|
||||||
type: "POST",
|
|
||||||
url: "/login",
|
|
||||||
data: $("#loginForm").serialize(),
|
|
||||||
dataType: "JSON",
|
|
||||||
success: function (data) {
|
|
||||||
console.log(data);
|
|
||||||
if(data.flag){
|
|
||||||
username = data.username;
|
|
||||||
$('#userlogin').html('');
|
|
||||||
$('#userlogin').html(data.username + '<a href="javascript:void(0);" onclick="loginOut(this)" id="loginOut">注销</a>');
|
|
||||||
// window.alert(data.username + ',登录成功!');
|
|
||||||
$('.ui.modal.login').modal('hide');
|
|
||||||
|
|
||||||
console.log($('.ui.modal.login'));
|
|
||||||
}else{
|
|
||||||
window.alert(data.msg);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
function loginOut() {
|
|
||||||
console.log('loginOut');
|
|
||||||
$.ajax({
|
|
||||||
type: "POST",
|
|
||||||
url: "/loginout",
|
|
||||||
dataType: "JSON",
|
|
||||||
success: function (data) {
|
|
||||||
console.log(data);
|
|
||||||
if(data.flag){
|
|
||||||
$('#userlogin').html('');
|
|
||||||
$('#userlogin').html('<a href="/login" id="loginmodel">登录 & 注册</a>');
|
|
||||||
window.alert(username + data.msg);
|
|
||||||
username = null;
|
|
||||||
}else{
|
|
||||||
window.alert('用户退出失败!');
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,25 +1,28 @@
|
|||||||
|
|
||||||
|
|
||||||
$("#createNewDiccuss").click(function () {
|
$("#createNewDiccuss").click(function () {
|
||||||
console.log("dianji createNewDiccuss");
|
console.log("点击 createNewDiccuss");
|
||||||
console.log(username);
|
console.log(username);
|
||||||
|
|
||||||
if(username && username!=null){
|
if(username && username!=null){
|
||||||
$('.ui.modal.createNewDiccuss')
|
$('.ui.modal.createNewDiccuss')
|
||||||
.modal('show')
|
.modal('show')
|
||||||
;
|
;
|
||||||
tinymce.init({
|
tinymce.init({
|
||||||
selector: '#discussionscontent',
|
selector: '#discussionscontent',
|
||||||
|
|
||||||
});
|
});
|
||||||
}else{
|
}else{
|
||||||
window.alert('您未登录,请先登录!');
|
massage('您未登录,请先登录!','');
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$("#newdiscussions").click(function(){
|
$("#newdiscussions").click(function(){
|
||||||
|
|
||||||
|
var token = $("meta[name='_csrf']").attr("content");
|
||||||
|
var header = $("meta[name='_csrf_header']").attr("content");
|
||||||
|
console.warn(header)
|
||||||
|
console.warn(token)
|
||||||
var title = $("#discussionstitle").val();
|
var title = $("#discussionstitle").val();
|
||||||
// $("#discussionscontent").val();
|
// $("#discussionscontent").val();
|
||||||
console.log(tinyMCE.editors[0].getContent());
|
console.log(tinyMCE.editors[0].getContent());
|
||||||
@@ -34,6 +37,9 @@ $("#newdiscussions").click(function(){
|
|||||||
content: content
|
content: content
|
||||||
}),
|
}),
|
||||||
contentType: 'application/json',
|
contentType: 'application/json',
|
||||||
|
beforeSend: function(request) {
|
||||||
|
request.setRequestHeader(header, token); // 添加 CSRF Token
|
||||||
|
},
|
||||||
dataType: "JSON",
|
dataType: "JSON",
|
||||||
success: function (data) {
|
success: function (data) {
|
||||||
console.log(data);
|
console.log(data);
|
||||||
@@ -49,20 +55,19 @@ $("#newdiscussions").click(function(){
|
|||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
$("#newtags").click(function(){
|
$("#newtags").click(function(){
|
||||||
$('#createNewtagsdiv').show();
|
$('#createNewtagsDiv').show();
|
||||||
|
$('#createNewtagsBtn').show();
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$("#commitnewtags").click(function(){
|
$("#commitnewtags").click(function(){
|
||||||
|
|
||||||
var name = $("#tagsname").val();
|
var header = $("meta[name='_csrf_header']").attr("content");
|
||||||
|
var token =$("meta[name='_csrf']").attr("content");
|
||||||
|
|
||||||
|
var name = $("#tagsname").val();
|
||||||
console.log(name);
|
console.log(name);
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type: "POST",
|
type: "POST",
|
||||||
@@ -71,6 +76,9 @@ $("#commitnewtags").click(function(){
|
|||||||
name: name,
|
name: name,
|
||||||
}),
|
}),
|
||||||
contentType: 'application/json',
|
contentType: 'application/json',
|
||||||
|
beforeSend : function(xhr) {
|
||||||
|
xhr.setRequestHeader(header, token);
|
||||||
|
},
|
||||||
dataType: "JSON",
|
dataType: "JSON",
|
||||||
success: function (data) {
|
success: function (data) {
|
||||||
console.log(data);
|
console.log(data);
|
||||||
|
|||||||
@@ -6,96 +6,23 @@
|
|||||||
<!-- <script src="static/jquery/jquery-3.4.1.min.js"></script> -->
|
<!-- <script src="static/jquery/jquery-3.4.1.min.js"></script> -->
|
||||||
<!-- <script src="static/semanticui/semantic.min.js"></script> -->
|
<!-- <script src="static/semanticui/semantic.min.js"></script> -->
|
||||||
|
|
||||||
<link crossorigin="anonymous" integrity="sha384-ATvSpJEmy1egycrmomcFxVn4Z0A6rfjwlzDQrts/1QRerQhR9EEpEYtdysLpQPuQ" href="https://lib.baomitu.com/semantic-ui/2.4.1/semantic.min.css" rel="stylesheet">
|
<!-- default header name is X-CSRF-TOKEN -->
|
||||||
|
<meta name="_csrf" content="${_csrf.token}"/>
|
||||||
|
<meta name="_csrf_header" content="${_csrf.headerName}"/>
|
||||||
|
|
||||||
|
<link crossorigin="anonymous" integrity="sha384-ATvSpJEmy1egycrmomcFxVn4Z0A6rfjwlzDQrts/1QRerQhR9EEpEYtdysLpQPuQ"
|
||||||
|
href="https://lib.baomitu.com/semantic-ui/2.4.1/semantic.min.css" rel="stylesheet">
|
||||||
<link rel="stylesheet" type="text/css" href="/static/semanticui/my.css">
|
<link rel="stylesheet" type="text/css" href="/static/semanticui/my.css">
|
||||||
|
|
||||||
<script crossorigin="anonymous" integrity="sha384-vk5WoKIaW/vJyUAd9n/wmopsmNhiy+L2Z+SBxGYnUkunIxVxAv/UtMOhba/xskxh" src="https://lib.baomitu.com/jquery/3.4.1/jquery.min.js"></script>
|
<script crossorigin="anonymous" integrity="sha384-vk5WoKIaW/vJyUAd9n/wmopsmNhiy+L2Z+SBxGYnUkunIxVxAv/UtMOhba/xskxh"
|
||||||
<script crossorigin="anonymous" integrity="sha384-6urqf2sgCGDfIXcoxTUOVIoQV+jFr/Zuc4O2wCRS6Rnd8w0OJ17C4Oo3PuXu8ZtF" src="https://lib.baomitu.com/semantic-ui/2.4.1/semantic.min.js"></script>
|
src="https://lib.baomitu.com/jquery/3.4.1/jquery.min.js"></script>
|
||||||
|
<script crossorigin="anonymous" integrity="sha384-6urqf2sgCGDfIXcoxTUOVIoQV+jFr/Zuc4O2wCRS6Rnd8w0OJ17C4Oo3PuXu8ZtF"
|
||||||
|
src="https://lib.baomitu.com/semantic-ui/2.4.1/semantic.min.js"></script>
|
||||||
|
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div class="ui main menu" id="menu">
|
<#include "header.ftl"/>
|
||||||
<div class="ui container">
|
|
||||||
<div href="#" class="header borderless item">
|
|
||||||
<img class="logo" src="static/assets/images/logo.png">
|
|
||||||
Jiscuss
|
|
||||||
</div>
|
|
||||||
<a class=" item borderless">首页</a>
|
|
||||||
<a class="active borderless item">论坛</a>
|
|
||||||
<div class="ui dropdown item borderless" tabindex="0">
|
|
||||||
更多
|
|
||||||
<i class="dropdown icon"></i>
|
|
||||||
<div class="menu transition hidden" tabindex="-1">
|
|
||||||
<div class="item">行为</div>
|
|
||||||
<div class="item">另一个行为</div>
|
|
||||||
<div class="item">其他东西</div>
|
|
||||||
<div class="divider"></div>
|
|
||||||
<div class="item">分割链接</div>
|
|
||||||
<div class="divider"></div>
|
|
||||||
<div class="item">另一个分割链接</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="right menu">
|
|
||||||
<div class="item">
|
|
||||||
<div class="ui transparent icon input">
|
|
||||||
<i class="search icon"></i>
|
|
||||||
<input type="text" placeholder="搜索">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="item" id="userlogin">
|
|
||||||
<#if username??>
|
|
||||||
${username} <a href="javascript:void(0);" onclick="loginOut(this)" id="loginOut">注销</a>
|
|
||||||
<#else>
|
|
||||||
<a href="javascript:void(0);" onclick="loginmodel(this)" id="loginmodel">登录 & 注册</a>
|
|
||||||
</#if>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="ui mini modal login">
|
|
||||||
<i class="close icon"></i>
|
|
||||||
|
|
||||||
<div class=" content">
|
|
||||||
<div class="ui middle aligned center aligned grid">
|
|
||||||
<div class="column">
|
|
||||||
<h2 class="ui blue image header">
|
|
||||||
<img src="static/assets/images/logo.png" class="image">
|
|
||||||
<div class="content">
|
|
||||||
登录到账号
|
|
||||||
</div>
|
|
||||||
</h2>
|
|
||||||
<form class="ui large form" id="loginForm">
|
|
||||||
<div class="ui stacked segment">
|
|
||||||
<div class="field">
|
|
||||||
<div class="ui left icon input">
|
|
||||||
<i class="user icon"></i>
|
|
||||||
<input type="text" name="username" placeholder="用户名">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="field">
|
|
||||||
<div class="ui left icon input">
|
|
||||||
<i class="lock icon"></i>
|
|
||||||
<input type="password" name="password" placeholder="密码">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="ui fluid large blue button" id="loginBtn">登录</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="ui error message"></div>
|
|
||||||
|
|
||||||
</form>
|
|
||||||
|
|
||||||
<div class="ui message">
|
|
||||||
新用户? <a href="l#">注册</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="ui container" id="container">
|
<div class="ui container" id="container">
|
||||||
<div class="ui info message">
|
<div class="ui info message">
|
||||||
@@ -152,7 +79,6 @@ class="widescreen large screen computer tablet only twelve wide column">
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="ui minimal comments">
|
<div class="ui minimal comments">
|
||||||
<h3 class="ui dividing header">评论区</h3>
|
<h3 class="ui dividing header">评论区</h3>
|
||||||
<div class="comment">
|
<div class="comment">
|
||||||
@@ -260,8 +186,6 @@ class="widescreen large screen computer tablet only twelve wide column">
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -306,7 +230,6 @@ class="widescreen large screen computer tablet only four wide column">
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="ui card">
|
<div class="ui card">
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<img class="right floated mini ui image"
|
<img class="right floated mini ui image"
|
||||||
@@ -314,7 +237,8 @@ class="widescreen large screen computer tablet only four wide column">
|
|||||||
<div class="header">Jiscuss Demo</div>
|
<div class="header">Jiscuss Demo</div>
|
||||||
<div class="meta">简单、易用、开源</div>
|
<div class="meta">简单、易用、开源</div>
|
||||||
<div class="description">一款基于JAVA的开源论坛 框架采用:Spring Boot + H2
|
<div class="description">一款基于JAVA的开源论坛 框架采用:Spring Boot + H2
|
||||||
+ Semantic UI</div>
|
+ Semantic UI
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="extra content">
|
<div class="extra content">
|
||||||
<div class="ui two buttons">
|
<div class="ui two buttons">
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
<div class="ui section divider"></div>
|
<div class="ui section divider"></div>
|
||||||
|
|
||||||
<div class="ui vertical footer segment">
|
<div class="ui vertical footer segment">
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="item" id="userlogin">
|
<div class="item" id="userlogin">
|
||||||
<#if username??>
|
<#if username??>
|
||||||
${username} <a href="javascript:void(0);" onclick="loginOut(this)" id="loginOut">注销</a>
|
${username} <a href="/logout" id="loginOut">注销</a>
|
||||||
<#else>
|
<#else>
|
||||||
<a href="/login" id="loginmodel">登录 & 注册</a>
|
<a href="/login" id="loginmodel">登录 & 注册</a>
|
||||||
</#if>
|
</#if>
|
||||||
|
|||||||
@@ -6,13 +6,24 @@
|
|||||||
<!-- <script src="static/jquery/jquery-3.4.1.min.js"></script> -->
|
<!-- <script src="static/jquery/jquery-3.4.1.min.js"></script> -->
|
||||||
<!-- <script src="static/semanticui/semantic.min.js"></script> -->
|
<!-- <script src="static/semanticui/semantic.min.js"></script> -->
|
||||||
|
|
||||||
<link crossorigin="anonymous" integrity="sha384-ATvSpJEmy1egycrmomcFxVn4Z0A6rfjwlzDQrts/1QRerQhR9EEpEYtdysLpQPuQ" href="https://lib.baomitu.com/semantic-ui/2.4.1/semantic.min.css" rel="stylesheet">
|
<!-- default header name is X-CSRF-TOKEN -->
|
||||||
|
<meta name="_csrf" content="${_csrf.token}"/>
|
||||||
|
<meta name="_csrf_header" content="${_csrf.headerName}"/>
|
||||||
|
|
||||||
|
<script crossorigin="anonymous" integrity="sha384-vk5WoKIaW/vJyUAd9n/wmopsmNhiy+L2Z+SBxGYnUkunIxVxAv/UtMOhba/xskxh"
|
||||||
|
src="https://lib.baomitu.com/jquery/3.4.1/jquery.min.js"></script>
|
||||||
|
<#--semantic-->
|
||||||
|
<link crossorigin="anonymous" integrity="sha384-ATvSpJEmy1egycrmomcFxVn4Z0A6rfjwlzDQrts/1QRerQhR9EEpEYtdysLpQPuQ"
|
||||||
|
href="https://lib.baomitu.com/semantic-ui/2.4.1/semantic.min.css" rel="stylesheet">
|
||||||
<link rel="stylesheet" type="text/css" href="/static/semanticui/my.css">
|
<link rel="stylesheet" type="text/css" href="/static/semanticui/my.css">
|
||||||
|
<script crossorigin="anonymous" integrity="sha384-6urqf2sgCGDfIXcoxTUOVIoQV+jFr/Zuc4O2wCRS6Rnd8w0OJ17C4Oo3PuXu8ZtF"
|
||||||
|
src="https://lib.baomitu.com/semantic-ui/2.4.1/semantic.min.js"></script>
|
||||||
|
|
||||||
<script crossorigin="anonymous" integrity="sha384-vk5WoKIaW/vJyUAd9n/wmopsmNhiy+L2Z+SBxGYnUkunIxVxAv/UtMOhba/xskxh" src="https://lib.baomitu.com/jquery/3.4.1/jquery.min.js"></script>
|
<#--tinymce-->
|
||||||
<script crossorigin="anonymous" integrity="sha384-6urqf2sgCGDfIXcoxTUOVIoQV+jFr/Zuc4O2wCRS6Rnd8w0OJ17C4Oo3PuXu8ZtF" src="https://lib.baomitu.com/semantic-ui/2.4.1/semantic.min.js"></script>
|
<script crossorigin="anonymous" integrity="sha384-CpsBIlOAWHuSRRN235sCBzEeKN6hLT6SpOGRkGadKpYj0gDP7+s3Q8pC38z8uGHH"
|
||||||
|
src="https://lib.baomitu.com/tinymce/5.1.1/tinymce.min.js"></script>
|
||||||
<script crossorigin="anonymous" integrity="sha384-CpsBIlOAWHuSRRN235sCBzEeKN6hLT6SpOGRkGadKpYj0gDP7+s3Q8pC38z8uGHH" src="https://lib.baomitu.com/tinymce/5.1.1/tinymce.min.js"></script>
|
<#--jquery-cookie-->
|
||||||
|
<script src="https://cdn.bootcdn.net/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.js"></script>
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
@@ -21,7 +32,8 @@
|
|||||||
<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},标签数 ${allTags?size} </div>
|
<div class="header">欢迎来到这里,${data},主题数: ${allDiscussions?size} ,主题页数:${pageDiscussions?size}
|
||||||
|
,标签数 ${allTags?size} </div>
|
||||||
<ul class="list">
|
<ul class="list">
|
||||||
<li>JAVA + DISCUSS = JISCUSS 。</li>
|
<li>JAVA + DISCUSS = JISCUSS 。</li>
|
||||||
<li>简单的,易用的JAVA论坛。</li>
|
<li>简单的,易用的JAVA论坛。</li>
|
||||||
@@ -71,9 +83,11 @@ class="widescreen large screen computer tablet only four wide column">
|
|||||||
<button class="ui teal button" id="newtags">新增标签</button>
|
<button class="ui teal button" id="newtags">新增标签</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="field" id= "createNewtagsdiv" style="display:none">
|
<div class="field" id="createNewtagsDiv" style="display:none">
|
||||||
<label>标签名</label>
|
<label>标签名</label>
|
||||||
<input type="text" placeholder="标签名" id="tagsname">
|
<input type="text" placeholder="标签名" id="tagsname">
|
||||||
|
</div>
|
||||||
|
<div class="field" id="createNewtagsBtn" style="display:none">
|
||||||
<button class="ui teal button" id="commitnewtags">保存</button>
|
<button class="ui teal button" id="commitnewtags">保存</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -184,7 +198,6 @@ class="widescreen large screen computer tablet only four wide column">
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="ui card">
|
<div class="ui card">
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<img class="right floated mini ui image"
|
<img class="right floated mini ui image"
|
||||||
@@ -192,7 +205,8 @@ class="widescreen large screen computer tablet only four wide column">
|
|||||||
<div class="header">Jiscuss Demo</div>
|
<div class="header">Jiscuss Demo</div>
|
||||||
<div class="meta">简单、易用、开源</div>
|
<div class="meta">简单、易用、开源</div>
|
||||||
<div class="description">一款基于JAVA的开源论坛 框架采用:Spring Boot + H2
|
<div class="description">一款基于JAVA的开源论坛 框架采用:Spring Boot + H2
|
||||||
+ Semantic UI</div>
|
+ Semantic UI
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="extra content">
|
<div class="extra content">
|
||||||
<div class="ui two buttons">
|
<div class="ui two buttons">
|
||||||
@@ -221,7 +235,8 @@ class="widescreen large screen computer tablet only twelve wide column">
|
|||||||
<div class="ui secondary menu">
|
<div class="ui secondary menu">
|
||||||
<a class="item active" data-tab="fourth"> <i class="icon mail"></i>
|
<a class="item active" data-tab="fourth"> <i class="icon mail"></i>
|
||||||
最新回复
|
最新回复
|
||||||
<div class="floating ui red label">22</div></a> <a class="item "
|
<div class="floating ui red label">22</div>
|
||||||
|
</a> <a class="item "
|
||||||
data-tab="fifth">热门</a> <a class="item " data-tab="sixth">新帖</a>
|
data-tab="fifth">热门</a> <a class="item " data-tab="sixth">新帖</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="ui active tab segment" data-tab="fourth">
|
<div class="ui active tab segment" data-tab="fourth">
|
||||||
@@ -250,11 +265,15 @@ class="widescreen large screen computer tablet only twelve wide column">
|
|||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="extra text" style="width: 300px;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;">
|
<div class="extra text"
|
||||||
|
style="width: 300px;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;">
|
||||||
${discussions.content}
|
${discussions.content}
|
||||||
</div>
|
</div>
|
||||||
<div class="meta">
|
<div class="meta">
|
||||||
<div class=" description "><i class="edit icon"></i> <a><b>用户1</b></a> • <i class="reply icon"></i>最后由 <a><b>${discussions.last_user_id}</b></a> 回复于10 hours ago.</div>
|
<div class=" description "><i class="edit icon"></i> <a><b>用户1</b></a> •
|
||||||
|
<i class="reply icon"></i>最后由 <a><b>${discussions.last_user_id}</b></a>
|
||||||
|
回复于10 hours ago.
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="nullright meta">
|
<div class="nullright meta">
|
||||||
<a class="like ">
|
<a class="like ">
|
||||||
@@ -404,14 +423,11 @@ class="widescreen large screen computer tablet only twelve wide column">
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="ui button" data-tooltip="预留" data-position="top center">
|
<div class="ui button" data-tooltip="预留" data-position="top center">
|
||||||
预留
|
预留
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<#include "footer.ftl"/>
|
<#include "footer.ftl"/>
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
|
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
@@ -419,11 +435,17 @@ $(document).ready(function() {
|
|||||||
setusername('${username}');
|
setusername('${username}');
|
||||||
console.log('已经登陆:' + username);
|
console.log('已经登陆:' + username);
|
||||||
</#if>
|
</#if>
|
||||||
|
|
||||||
|
var token = $("meta[name='_csrf']").attr("content");
|
||||||
|
if(token == '' && username && username != null){
|
||||||
|
console.log('因为默认页没有_csrf_token,跳页');
|
||||||
|
location.href="/main";
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
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>
|
||||||
|
|||||||
@@ -5,22 +5,27 @@
|
|||||||
<!-- <link rel="stylesheet" type="text/css" href="static/semanticui/semantic.css"> -->
|
<!-- <link rel="stylesheet" type="text/css" href="static/semanticui/semantic.css"> -->
|
||||||
<!-- <script src="static/jquery/jquery-3.4.1.min.js"></script> -->
|
<!-- <script src="static/jquery/jquery-3.4.1.min.js"></script> -->
|
||||||
<!-- <script src="static/semanticui/semantic.min.js"></script> -->
|
<!-- <script src="static/semanticui/semantic.min.js"></script> -->
|
||||||
<link crossorigin="anonymous" integrity="sha384-ATvSpJEmy1egycrmomcFxVn4Z0A6rfjwlzDQrts/1QRerQhR9EEpEYtdysLpQPuQ" href="https://lib.baomitu.com/semantic-ui/2.4.1/semantic.min.css" rel="stylesheet">
|
<link crossorigin="anonymous" integrity="sha384-ATvSpJEmy1egycrmomcFxVn4Z0A6rfjwlzDQrts/1QRerQhR9EEpEYtdysLpQPuQ"
|
||||||
|
href="https://lib.baomitu.com/semantic-ui/2.4.1/semantic.min.css" rel="stylesheet">
|
||||||
<link rel="stylesheet" type="text/css" href="/static/semanticui/my.css">
|
<link rel="stylesheet" type="text/css" href="/static/semanticui/my.css">
|
||||||
<script crossorigin="anonymous" integrity="sha384-vk5WoKIaW/vJyUAd9n/wmopsmNhiy+L2Z+SBxGYnUkunIxVxAv/UtMOhba/xskxh" src="https://lib.baomitu.com/jquery/3.4.1/jquery.min.js"></script>
|
<script crossorigin="anonymous" integrity="sha384-vk5WoKIaW/vJyUAd9n/wmopsmNhiy+L2Z+SBxGYnUkunIxVxAv/UtMOhba/xskxh"
|
||||||
<script crossorigin="anonymous" integrity="sha384-6urqf2sgCGDfIXcoxTUOVIoQV+jFr/Zuc4O2wCRS6Rnd8w0OJ17C4Oo3PuXu8ZtF" src="https://lib.baomitu.com/semantic-ui/2.4.1/semantic.min.js"></script>
|
src="https://lib.baomitu.com/jquery/3.4.1/jquery.min.js"></script>
|
||||||
<script crossorigin="anonymous" integrity="sha384-CpsBIlOAWHuSRRN235sCBzEeKN6hLT6SpOGRkGadKpYj0gDP7+s3Q8pC38z8uGHH" src="https://lib.baomitu.com/tinymce/5.1.1/tinymce.min.js"></script>
|
<script crossorigin="anonymous" integrity="sha384-6urqf2sgCGDfIXcoxTUOVIoQV+jFr/Zuc4O2wCRS6Rnd8w0OJ17C4Oo3PuXu8ZtF"
|
||||||
|
src="https://lib.baomitu.com/semantic-ui/2.4.1/semantic.min.js"></script>
|
||||||
|
|
||||||
<style type="text/css">
|
<style type="text/css">
|
||||||
body {
|
body {
|
||||||
background-color: #DADADA;
|
background-color: #DADADA;
|
||||||
}
|
}
|
||||||
|
|
||||||
body > .grid {
|
body > .grid {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.image {
|
.image {
|
||||||
margin-top: -100px;
|
margin-top: -100px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.column {
|
.column {
|
||||||
max-width: 450px;
|
max-width: 450px;
|
||||||
}
|
}
|
||||||
@@ -51,7 +56,7 @@
|
|||||||
<input type="password" name="password" placeholder="密码">
|
<input type="password" name="password" placeholder="密码">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="field">
|
<div class="field" id="msgId" style="display:none">
|
||||||
<div class="ui pointing red basic label">
|
<div class="ui pointing red basic label">
|
||||||
${msg}
|
${msg}
|
||||||
</div>
|
</div>
|
||||||
@@ -68,8 +73,16 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<script type="text/javascript">
|
||||||
|
|
||||||
|
$(document).ready(function () {
|
||||||
|
<#if msg??>
|
||||||
|
$('#msgId').show();
|
||||||
|
</#if>
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
</script>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -15,5 +15,6 @@
|
|||||||
<p>
|
<p>
|
||||||
welcome ${msg} to freemarker!
|
welcome ${msg} to freemarker!
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
Reference in New Issue
Block a user