diff --git a/.gitignore b/.gitignore index 032ce5c8..ebaf883b 100755 --- a/.gitignore +++ b/.gitignore @@ -24,6 +24,7 @@ dist/ nbdist/ .nb-gradle/ + .DS_Store target/ diff --git a/ForestBlog/pom.xml b/ForestBlog/pom.xml index 2aaf34f9..aa830ec6 100755 --- a/ForestBlog/pom.xml +++ b/ForestBlog/pom.xml @@ -136,23 +136,23 @@ druid 1.0.16 - + - log4j - log4j - 1.2.17 + ch.qos.logback + logback-classic + 1.1.2 - org.slf4j - slf4j-api - 1.7.21 + ch.qos.logback + logback-core + 1.1.2 - - commons-logging - commons-logging - 1.2 + org.logback-extensions + logback-ext-spring + 0.1.1 + junit diff --git a/ForestBlog/src/main/java/com/liuyanzhao/ssm/blog/controller/admin/AdminController.java b/ForestBlog/src/main/java/com/liuyanzhao/ssm/blog/controller/admin/AdminController.java index 9b4450ee..90882f82 100755 --- a/ForestBlog/src/main/java/com/liuyanzhao/ssm/blog/controller/admin/AdminController.java +++ b/ForestBlog/src/main/java/com/liuyanzhao/ssm/blog/controller/admin/AdminController.java @@ -72,7 +72,8 @@ public String index(Model model, HttpSession session) { * @return */ @RequestMapping("/login") - public String loginPage() { + public String + loginPage() { return "Admin/login"; } @@ -109,6 +110,9 @@ public String loginVerify(HttpServletRequest request, HttpServletResponse respon } else if (!user.getUserPass().equals(password)) { map.put("code", 0); map.put("msg", "密码错误!"); + } else if (user.getUserStatus() == 0) { + map.put("code", 0); + map.put("msg", "账号已禁用!"); } else { //登录成功 map.put("code", 1); @@ -210,7 +214,7 @@ public ModelAndView userProfileView(HttpSession session) { /** * 编辑个人信息页面显示 * - * @param loginUser + * @param session * @return */ @RequestMapping(value = "/admin/profile/edit") diff --git a/ForestBlog/src/main/java/com/liuyanzhao/ssm/blog/controller/admin/BackArticleController.java b/ForestBlog/src/main/java/com/liuyanzhao/ssm/blog/controller/admin/BackArticleController.java index 459e1a45..55d82cca 100755 --- a/ForestBlog/src/main/java/com/liuyanzhao/ssm/blog/controller/admin/BackArticleController.java +++ b/ForestBlog/src/main/java/com/liuyanzhao/ssm/blog/controller/admin/BackArticleController.java @@ -108,6 +108,7 @@ public String insertArticleSubmit(HttpSession session, ArticleParam articleParam } else { article.setArticleSummary(summaryText); } + article.setArticleThumbnail(articleParam.getArticleThumbnail()); article.setArticleContent(articleParam.getArticleContent()); article.setArticleStatus(articleParam.getArticleStatus()); //填充分类 @@ -203,6 +204,7 @@ public String editArticleSubmit(ArticleParam articleParam, HttpSession session) return "redirect:/403"; } Article article = new Article(); + article.setArticleThumbnail(articleParam.getArticleThumbnail()); article.setArticleId(articleParam.getArticleId()); article.setArticleTitle(articleParam.getArticleTitle()); article.setArticleContent(articleParam.getArticleContent()); @@ -262,6 +264,7 @@ public String insertDraftSubmit(HttpSession session, ArticleParam articleParam) } else { article.setArticleSummary(summaryText); } + article.setArticleThumbnail(articleParam.getArticleThumbnail()); article.setArticleContent(articleParam.getArticleContent()); article.setArticleStatus(articleParam.getArticleStatus()); //填充分类 diff --git a/ForestBlog/src/main/java/com/liuyanzhao/ssm/blog/controller/admin/BackUserController.java b/ForestBlog/src/main/java/com/liuyanzhao/ssm/blog/controller/admin/BackUserController.java index d4dd902e..852b438a 100755 --- a/ForestBlog/src/main/java/com/liuyanzhao/ssm/blog/controller/admin/BackUserController.java +++ b/ForestBlog/src/main/java/com/liuyanzhao/ssm/blog/controller/admin/BackUserController.java @@ -2,6 +2,7 @@ import com.liuyanzhao.ssm.blog.entity.User; +import com.liuyanzhao.ssm.blog.enums.UserRole; import com.liuyanzhao.ssm.blog.service.UserService; import org.json.JSONObject; import org.springframework.beans.factory.annotation.Autowired; @@ -33,11 +34,11 @@ public class BackUserController { * @return */ @RequestMapping(value = "") - public ModelAndView userList() { + public ModelAndView userList() { ModelAndView modelandview = new ModelAndView(); List userList = userService.listUser(); - modelandview.addObject("userList",userList); + modelandview.addObject("userList", userList); modelandview.setViewName("Admin/User/index"); return modelandview; @@ -50,7 +51,7 @@ public ModelAndView userList() { * @return */ @RequestMapping(value = "/insert") - public ModelAndView insertUserView() { + public ModelAndView insertUserView() { ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("Admin/User/insert"); return modelAndView; @@ -62,22 +63,22 @@ public ModelAndView insertUserView() { * @param request * @return */ - @RequestMapping(value = "/checkUserName",method = RequestMethod.POST, produces = {"text/plain;charset=UTF-8"}) + @RequestMapping(value = "/checkUserName", method = RequestMethod.POST, produces = {"text/plain;charset=UTF-8"}) @ResponseBody - public String checkUserName(HttpServletRequest request) { + public String checkUserName(HttpServletRequest request) { Map map = new HashMap(); String username = request.getParameter("username"); User user = userService.getUserByName(username); int id = Integer.valueOf(request.getParameter("id")); //用户名已存在,但不是当前用户(编辑用户的时候,不提示) - if(user!=null) { - if(user.getUserId()!=id) { + if (user != null) { + if (user.getUserId() != id) { map.put("code", 1); map.put("msg", "用户名已存在!"); } } else { - map.put("code",0); - map.put("msg",""); + map.put("code", 0); + map.put("msg", ""); } String result = new JSONObject(map).toString(); return result; @@ -89,22 +90,22 @@ public String checkUserName(HttpServletRequest request) { * @param request * @return */ - @RequestMapping(value = "/checkUserEmail",method = RequestMethod.POST, produces = {"text/plain;charset=UTF-8"}) + @RequestMapping(value = "/checkUserEmail", method = RequestMethod.POST, produces = {"text/plain;charset=UTF-8"}) @ResponseBody - public String checkUserEmail(HttpServletRequest request) { + public String checkUserEmail(HttpServletRequest request) { Map map = new HashMap(); String email = request.getParameter("email"); User user = userService.getUserByEmail(email); int id = Integer.valueOf(request.getParameter("id")); //用户名已存在,但不是当前用户(编辑用户的时候,不提示) - if(user!=null) { - if(user.getUserId()!=id) { + if (user != null) { + if (user.getUserId() != id) { map.put("code", 1); map.put("msg", "电子邮箱已存在!"); } } else { - map.put("code",0); - map.put("msg",""); + map.put("code", 0); + map.put("msg", ""); } String result = new JSONObject(map).toString(); return result; @@ -117,13 +118,14 @@ public String checkUserEmail(HttpServletRequest request) { * @param user * @return */ - @RequestMapping(value = "/insertSubmit",method = RequestMethod.POST) - public String insertUserSubmit(User user) { + @RequestMapping(value = "/insertSubmit", method = RequestMethod.POST) + public String insertUserSubmit(User user) { User user2 = userService.getUserByName(user.getUserName()); User user3 = userService.getUserByEmail(user.getUserEmail()); - if(user2==null&&user3==null) { + if (user2 == null && user3 == null) { user.setUserRegisterTime(new Date()); user.setUserStatus(1); + user.setUserRole(UserRole.USER.getValue()); userService.insertUser(user); } return "redirect:/admin/user"; @@ -136,7 +138,7 @@ public String insertUserSubmit(User user) { * @return */ @RequestMapping(value = "/delete/{id}") - public String deleteUser(@PathVariable("id") Integer id) { + public String deleteUser(@PathVariable("id") Integer id) { userService.deleteUser(id); return "redirect:/admin/user"; } @@ -148,11 +150,11 @@ public String deleteUser(@PathVariable("id") Integer id) { * @return */ @RequestMapping(value = "/edit/{id}") - public ModelAndView editUserView(@PathVariable("id") Integer id) { + public ModelAndView editUserView(@PathVariable("id") Integer id) { ModelAndView modelAndView = new ModelAndView(); - User user = userService.getUserById(id); - modelAndView.addObject("user",user); + User user = userService.getUserById(id); + modelAndView.addObject("user", user); modelAndView.setViewName("Admin/User/edit"); return modelAndView; @@ -165,8 +167,8 @@ public ModelAndView editUserView(@PathVariable("id") Integer id) { * @param user * @return */ - @RequestMapping(value = "/editSubmit",method = RequestMethod.POST) - public String editUserSubmit(User user) { + @RequestMapping(value = "/editSubmit", method = RequestMethod.POST) + public String editUserSubmit(User user) { userService.updateUser(user); return "redirect:/admin/user"; } diff --git a/ForestBlog/src/main/java/com/liuyanzhao/ssm/blog/controller/home/CategoryController.java b/ForestBlog/src/main/java/com/liuyanzhao/ssm/blog/controller/home/CategoryController.java index 06d598d0..310c361e 100755 --- a/ForestBlog/src/main/java/com/liuyanzhao/ssm/blog/controller/home/CategoryController.java +++ b/ForestBlog/src/main/java/com/liuyanzhao/ssm/blog/controller/home/CategoryController.java @@ -75,7 +75,7 @@ public String getArticleListByCategory(@PathVariable("cateId") Integer cateId, //获得热评文章 List
mostCommentArticleList = articleService.listArticleByCommentCount(8); model.addAttribute("mostCommentArticleList", mostCommentArticleList); - model.addAttribute("pageUrlPrefix", "/category/"+pageIndex+"?pageIndex"); + model.addAttribute("pageUrlPrefix", "/category/"+cateId+"?pageIndex"); return "Home/Page/articleListByCategory"; } diff --git a/ForestBlog/src/main/java/com/liuyanzhao/ssm/blog/controller/home/CommentController.java b/ForestBlog/src/main/java/com/liuyanzhao/ssm/blog/controller/home/CommentController.java index c6ce0632..9e76d921 100755 --- a/ForestBlog/src/main/java/com/liuyanzhao/ssm/blog/controller/home/CommentController.java +++ b/ForestBlog/src/main/java/com/liuyanzhao/ssm/blog/controller/home/CommentController.java @@ -62,7 +62,7 @@ public JsonResult insertComment(HttpServletRequest request, Comment comment, Htt } else { comment.setCommentRole(Role.VISITOR.getValue()); } - comment.setCommentAuthorAvatar(MyUtils.getGravatar(comment.getCommentAuthorEmail())); + comment.setCommentAuthorAvatar(user.getUserAvatar()); //过滤字符,防止XSS攻击 comment.setCommentContent(HtmlUtil.escape(comment.getCommentContent())); diff --git a/ForestBlog/src/main/java/com/liuyanzhao/ssm/blog/controller/home/IndexController.java b/ForestBlog/src/main/java/com/liuyanzhao/ssm/blog/controller/home/IndexController.java index 040e3e73..aec1455c 100755 --- a/ForestBlog/src/main/java/com/liuyanzhao/ssm/blog/controller/home/IndexController.java +++ b/ForestBlog/src/main/java/com/liuyanzhao/ssm/blog/controller/home/IndexController.java @@ -93,7 +93,7 @@ public String search( //最新评论 List recentCommentList = commentService.listRecentComment(null, 10); model.addAttribute("recentCommentList", recentCommentList); - model.addAttribute("pageUrlPrefix", "/search?pageIndex"); + model.addAttribute("pageUrlPrefix", "/search?keywords=" + keywords + "&pageIndex"); return "Home/Page/search"; } diff --git a/ForestBlog/src/main/java/com/liuyanzhao/ssm/blog/controller/home/TagController.java b/ForestBlog/src/main/java/com/liuyanzhao/ssm/blog/controller/home/TagController.java index 43e0c5f0..cfa3c3c4 100755 --- a/ForestBlog/src/main/java/com/liuyanzhao/ssm/blog/controller/home/TagController.java +++ b/ForestBlog/src/main/java/com/liuyanzhao/ssm/blog/controller/home/TagController.java @@ -64,7 +64,8 @@ public String getArticleListByTag(@PathVariable("tagId") Integer tagId, //获得热评文章 List
mostCommentArticleList = articleService.listArticleByCommentCount(8); model.addAttribute("mostCommentArticleList", mostCommentArticleList); - model.addAttribute("pageUrlPrefix", "/tag?pageIndex"); + model.addAttribute("pageUrlPrefix", "/tag/"+tagId+"?pageIndex"); + return "Home/Page/articleListByTag"; } diff --git a/ForestBlog/src/main/java/com/liuyanzhao/ssm/blog/dto/ArticleParam.java b/ForestBlog/src/main/java/com/liuyanzhao/ssm/blog/dto/ArticleParam.java index af19e332..835e09f9 100644 --- a/ForestBlog/src/main/java/com/liuyanzhao/ssm/blog/dto/ArticleParam.java +++ b/ForestBlog/src/main/java/com/liuyanzhao/ssm/blog/dto/ArticleParam.java @@ -25,6 +25,8 @@ public class ArticleParam { private Integer articleStatus; + private String articleThumbnail; + private List articleTagIds; } diff --git a/ForestBlog/src/main/java/com/liuyanzhao/ssm/blog/dto/Response.java b/ForestBlog/src/main/java/com/liuyanzhao/ssm/blog/dto/Response.java deleted file mode 100644 index afb761fa..00000000 --- a/ForestBlog/src/main/java/com/liuyanzhao/ssm/blog/dto/Response.java +++ /dev/null @@ -1,74 +0,0 @@ -package com.liuyanzhao.ssm.blog.dto; - -/** - * @author 言曌 - * @date 2018/9/2 下午8:34 - */ - -public class Response { - - private Boolean success; - - private String message; - - private T data; - - public Response() { - } - - public Response(Boolean success) { - this.success = success; - } - - public Response(Boolean success, String message) { - this.success = success; - this.message = message; - } - - public Response(Boolean success, String message, T data) { - this.success = success; - this.message = message; - this.data = data; - } - - public static Response yes() { - return new Response(true, "操作成功"); - } - - public static Response yes(T data) { - return new Response(true, "操作成功", data); - } - - - public static Response no() { - return new Response(false, "操作失败"); - } - - public static Response no(String message) { - return new Response(false, message); - } - - public Boolean isSuccess() { - return success; - } - - public void setSuccess(Boolean success) { - this.success = success; - } - - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } - - public T getData() { - return data; - } - - public void setData(T data) { - this.data = data; - } -} diff --git a/ForestBlog/src/main/java/com/liuyanzhao/ssm/blog/entity/Article.java b/ForestBlog/src/main/java/com/liuyanzhao/ssm/blog/entity/Article.java index 4dd53fca..7b852a30 100644 --- a/ForestBlog/src/main/java/com/liuyanzhao/ssm/blog/entity/Article.java +++ b/ForestBlog/src/main/java/com/liuyanzhao/ssm/blog/entity/Article.java @@ -40,6 +40,8 @@ public class Article implements Serializable{ private String articleSummary; + private String articleThumbnail; + private User user; private List tagList; diff --git a/ForestBlog/src/main/java/com/liuyanzhao/ssm/blog/interceptor/SecurityInterceptor.java b/ForestBlog/src/main/java/com/liuyanzhao/ssm/blog/interceptor/SecurityInterceptor.java deleted file mode 100755 index 5bf2a7bb..00000000 --- a/ForestBlog/src/main/java/com/liuyanzhao/ssm/blog/interceptor/SecurityInterceptor.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.liuyanzhao.ssm.blog.interceptor; - -import org.springframework.stereotype.Component; -import org.springframework.web.servlet.HandlerInterceptor; -import org.springframework.web.servlet.ModelAndView; -import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; - - -/** - * @author liuyanzhao - */ -@Component -public class SecurityInterceptor extends HandlerInterceptorAdapter { - - @Override - public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object o) throws IOException { - //这里可以根据session的用户来判断角色的权限,根据权限来转发不同的页面 - if(request.getSession().getAttribute("user") == null) { - response.sendRedirect("/login"); - return false; - } - - return true; - } - - @Override - public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) { - - } - - @Override - public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) { - - } -} - diff --git a/ForestBlog/src/main/java/com/liuyanzhao/ssm/blog/mapper/ArticleMapper.java b/ForestBlog/src/main/java/com/liuyanzhao/ssm/blog/mapper/ArticleMapper.java index 2beb1d42..c6930dae 100644 --- a/ForestBlog/src/main/java/com/liuyanzhao/ssm/blog/mapper/ArticleMapper.java +++ b/ForestBlog/src/main/java/com/liuyanzhao/ssm/blog/mapper/ArticleMapper.java @@ -57,6 +57,7 @@ public interface ArticleMapper { /** * 文章归档 + * * @return */ List
listAllNotWithContent(); @@ -94,7 +95,7 @@ public interface ArticleMapper { * 根据id查询用户信息 * * @param status 状态 - * @param id 文章ID + * @param id 文章ID * @return 文章 */ Article getArticleByStatusAndId(@Param(value = "status") Integer status, @Param(value = "id") Integer id); @@ -109,8 +110,8 @@ public interface ArticleMapper { */ @Deprecated List
pageArticle(@Param(value = "status") Integer status, - @Param(value = "pageIndex") Integer pageIndex, - @Param(value = "pageSize") Integer pageSize); + @Param(value = "pageIndex") Integer pageIndex, + @Param(value = "pageSize") Integer pageSize); /** @@ -148,13 +149,12 @@ List
pageArticle(@Param(value = "status") Integer status, /** * 热评文章 * - * @param limit 查询数量 + * @param limit 查询数量 * @return 文章列表 */ List
listArticleByCommentCount(@Param(value = "limit") Integer limit); - /** * 更新文章的评论数 * @@ -215,6 +215,7 @@ List
findArticleByCategoryIds(@Param("categoryIds") List categ /** * 获得一个用户的文章id集合 + * * @param userId * @return */ diff --git a/ForestBlog/src/main/java/com/liuyanzhao/ssm/blog/service/impl/ArticleServiceImpl.java b/ForestBlog/src/main/java/com/liuyanzhao/ssm/blog/service/impl/ArticleServiceImpl.java index c2750481..b1c5e94e 100755 --- a/ForestBlog/src/main/java/com/liuyanzhao/ssm/blog/service/impl/ArticleServiceImpl.java +++ b/ForestBlog/src/main/java/com/liuyanzhao/ssm/blog/service/impl/ArticleServiceImpl.java @@ -1,5 +1,6 @@ package com.liuyanzhao.ssm.blog.service.impl; +import cn.hutool.core.util.RandomUtil; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.liuyanzhao.ssm.blog.enums.ArticleCommentStatus; @@ -10,6 +11,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.StringUtils; import java.util.ArrayList; import java.util.Date; @@ -229,6 +231,10 @@ public void insertArticle(Article article) { article.setArticleLikeCount(0); article.setArticleCommentCount(0); article.setArticleOrder(1); + if (StringUtils.isEmpty(article.getArticleThumbnail())) { + article.setArticleThumbnail("/img/thumbnail/random/img_" + RandomUtil.randomNumbers(1) + ".jpg"); + } + articleMapper.insert(article); //添加分类和文章关联 for (int i = 0; i < article.getCategoryList().size(); i++) { diff --git a/ForestBlog/src/main/java/com/liuyanzhao/ssm/blog/util/MyUtils.java b/ForestBlog/src/main/java/com/liuyanzhao/ssm/blog/util/MyUtils.java index 122f1e21..49d7704e 100755 --- a/ForestBlog/src/main/java/com/liuyanzhao/ssm/blog/util/MyUtils.java +++ b/ForestBlog/src/main/java/com/liuyanzhao/ssm/blog/util/MyUtils.java @@ -88,4 +88,5 @@ public static String getGravatar(String email) { return avatar; } + } \ No newline at end of file diff --git a/ForestBlog/src/main/resources/log4j.properties b/ForestBlog/src/main/resources/log4j.properties deleted file mode 100644 index c6b73837..00000000 --- a/ForestBlog/src/main/resources/log4j.properties +++ /dev/null @@ -1,11 +0,0 @@ -# Configure logging for testing: optionally with log file - log4j.rootLogger=WARN, stdout, logfile - -log4j.appender.stdout=org.apache.log4j.ConsoleAppender -log4j.appender.stdout.layout=org.apache.log4j.PatternLayout -log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n - -log4j.appender.logfile=org.apache.log4j.FileAppender -log4j.appender.logfile.File=target/ForestBlog.log -log4j.appender.logfile.layout=org.apache.log4j.PatternLayout -log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n \ No newline at end of file diff --git a/ForestBlog/src/main/resources/logback.xml b/ForestBlog/src/main/resources/logback.xml new file mode 100644 index 00000000..a7df509b --- /dev/null +++ b/ForestBlog/src/main/resources/logback.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + %date{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread]%logger{56}.%method:%L -%msg%n + + + + + + ${log.base}/${log.moduleName}.log + + + + ${log.base}/archive/${log.moduleName}_all_%d{yyyy-MM-dd}.%i.log.zip + + + + ${log.max.size} + + + + + %date{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread]%logger{56}.%method:%L -%msg%n + + + + \ No newline at end of file diff --git a/ForestBlog/src/main/resources/mapper/ArticleMapper.xml b/ForestBlog/src/main/resources/mapper/ArticleMapper.xml index f80c73cf..aa2dda6d 100644 --- a/ForestBlog/src/main/resources/mapper/ArticleMapper.xml +++ b/ForestBlog/src/main/resources/mapper/ArticleMapper.xml @@ -15,19 +15,20 @@ + article article_id, article_user_id, article_title, article_content,article_summary, article_view_count, article_comment_count, article_like_count, article_create_time, - article_update_time, article_is_comment, article_status, article_order + article_update_time, article_is_comment, article_status, article_order, article_thumbnail SELECT - article.article_id, article.article_user_id, article.article_title, + distinct article.article_id, article.article_user_id, article.article_title, article.article_view_count, article.article_comment_count, article.article_like_count, article.article_create_time, article.article_update_time, article.article_is_comment, article.article_status, article.article_order, - article.article_summary + article.article_summary, article.article_thumbnail FROM article, article_category_ref article.article_status = 1 AND @@ -322,7 +324,7 @@ SELECT article_id, article_user_id, article_title, article_view_count, article_comment_count, article_like_count, article_create_time, - article_update_time, article_is_comment, article_status, article_order + article_update_time, article_is_comment, article_status, article_order, article_thumbnail FROM diff --git a/ForestBlog/src/main/resources/mybatis/mybatis-config.xml b/ForestBlog/src/main/resources/mybatis/mybatis-config.xml index 07b094c2..07ec9eef 100644 --- a/ForestBlog/src/main/resources/mybatis/mybatis-config.xml +++ b/ForestBlog/src/main/resources/mybatis/mybatis-config.xml @@ -11,6 +11,9 @@ + + + diff --git a/ForestBlog/src/main/webapp/WEB-INF/view/Admin/Article/edit.jsp b/ForestBlog/src/main/webapp/WEB-INF/view/Admin/Article/edit.jsp index 9a682b60..0fee1f52 100755 --- a/ForestBlog/src/main/webapp/WEB-INF/view/Admin/Article/edit.jsp +++ b/ForestBlog/src/main/webapp/WEB-INF/view/Admin/Article/edit.jsp @@ -90,6 +90,20 @@
输入1-10的数字,order越大排序越前
+
+ +
+
+
+ +

+
+ + +
+
+
@@ -107,16 +121,45 @@
-
- 温馨提示: - 1、插入代码前,可以点击 代码高亮,将代码转成HTML格式 -
+ + +