当前位置: 首页 > news >正文

网页首页动态设计/哈尔滨百度搜索排名优化

网页首页动态设计,哈尔滨百度搜索排名优化,花型图案设计网站,全球最火的十大游戏文章目录AJAX发布帖子 显示帖子详情1、引入fastjson包2、编写方法获取JSON字符串增加插入帖子的方法编写DiscussPostMapper编写DiscussPostService编写DiscussPostController处理js显示帖子详情增加通过id查询帖子的方法在帖子标题上增加访问详情页面的链接处理discuss-detail页…

文章目录

  • AJAX发布帖子 显示帖子详情
    • 1、引入fastjson包
    • 2、编写方法获取JSON字符串
    • 增加插入帖子的方法
      • 编写DiscussPostMapper
      • 编写DiscussPostService
      • 编写DiscussPostController
    • 处理js
  • 显示帖子详情
    • 增加通过id查询帖子的方法
    • 在帖子标题上增加访问详情页面的链接
    • 处理discuss-detail页面



AJAX发布帖子 显示帖子详情

在这里插入图片描述

1、引入fastjson包

<!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.79</version>
</dependency>

2、编写方法获取JSON字符串

  • code 编号
  • msg 提示信息
  • map 业务数据
  • 首先创立JSON对象 然后把code,msg传入,map遍历传入
  • 返回得到JSON 字符串
  • 重载两个方法
//获取Json字符串
public  static String getJSONString(int code, String msg, Map<String,Object> map)
{JSONObject jsonObject=new JSONObject();jsonObject.put("code",code);jsonObject.put("msg",msg);if(map!=null){for(String key:map.keySet()){jsonObject.put(key,map.get(key));}}return jsonObject.toJSONString();
}
public  static String getJSONString(int code, String msg)
{return getJSONString(code,msg,null);
}
public  static String getJSONString(int code,  Map<String,Object> map)
{return getJSONString(code,null,map);
}

增加插入帖子的方法

编写DiscussPostMapper

<insert id="insertDiscussPost" parameterType="DiscussPost" keyProperty="id">insert into discuss_post (<include refid="insertFields"></include>)values(#{user_id}, #{title}, #{content}, #{type},  #{status}, #{create_time}, #{comment_count}, #{score})
</insert>

编写DiscussPostService

  //增加帖子public int addDiscussPost(DiscussPost discussPost){if(discussPost==null){throw new IllegalArgumentException("帖子参数不能为空");}//转义帖子中的标签discussPost.setTitle(HtmlUtils.htmlEscape(discussPost.getTitle()));discussPost.setContent(HtmlUtils.htmlEscape(discussPost.getContent()));//过滤敏感词discussPost.setTitle(sensitiveFilter.filter(discussPost.getTitle()));discussPost.setContent(sensitiveFilter.filter(discussPost.getContent()));return discussPostMapper.insertDiscussPost(discussPost);}

编写DiscussPostController

//发布帖子
@RequestMapping(value = "/discuss/add",method = RequestMethod.POST)
@ResponseBody
public String addDiscussPost(String title,String content)
{User user = hostHolder.getUser();if(user==null){return CommunityUtil.getJSONString(403,"您还没有登录,请先登录!");}DiscussPost discussPost=new DiscussPost();discussPost.setUserId(user.getId());discussPost.setTitle(title);discussPost.setContent(content);discussPost.setCreateTime(new Date());discussPostService.addDiscussPost(discussPost);//报错的情况之后统一处理return CommunityUtil.getJSONString(0,"发布成功!");}

处理js

采用jquery发送异步请求

$.post(有三个参数 1、访问路径 2、 提交数据 3、 回调函数 服务器做出响应 把返回的数据传给data

把字符串转为js对象 浏览器转化为js对象处理

点击发布的时候调用方法 publish()

通过id获取标题和内容

data 保存回调函数处理服务器响应完毕后返回的结果

成功了刷新页面 判断JSON返回的code是否等于0

$(function(){$("#publishBtn").click(publish);
});function publish() {//隐藏立即发布按钮$("#publishModal").modal("hide");//获取标题和内容var title=$("#recipient-name").val();var content=$("#message-text").val();//发送异步请求   post方式$.post(CONTEXT_PATH+"/discuss/add",{"title":title,"content":content},function (data) {data=$.parseJSON(data);//在提示框中显示返回信息$("#hintBody").text(data.msg);//显示提示框  2秒后消失$("#hintModal").modal("show");setTimeout(function(){$("#hintModal").modal("hide");//刷新页面if(data.code==0){window.location.reload();}}, 2000);});}

显示帖子详情

增加通过id查询帖子的方法

编写DiscussPostMapper,DiscussPostService,DiscussPostController

//根据id查询帖子
@RequestMapping(value = "/discuss/detail/{discussPostId}",method = RequestMethod.GET)
public String getDiscussPost(@PathVariable("discussPostId") int id, Model model)
{DiscussPost discussPost = discussPostService.selectPostById(id);model.addAttribute("post",discussPost);//通过userid查找对应的用户User user = userService.queryUserById(discussPost.getUserId());model.addAttribute("user",user);return "/site/discuss-detail";}

在帖子标题上增加访问详情页面的链接

<a th:href="@{|/discuss/detail/${map.post.id}|}" th:utext="${map.post.title}"></a>

处理discuss-detail页面

-处理静态资源的访问路径

-复用index.html的header

-显示标题,作者,发布时间,帖子正文等内容

发布于 <b  th:text="${#dates.format(post.createTime,'yyyy-MM-DD HH:MM:SS')}">2019-04-15 15:32:18</b>
http://www.lbrq.cn/news/1030609.html

相关文章:

  • 网站 标签导航/无锡网站建设方案优化
  • 做网站公司好开吗/广告最多的网站
  • 做外贸怎样浏览国外网站/接app推广
  • 深圳网站建设交易/seo实战技术培训
  • 与网站开发相关的书籍/学电脑培训班
  • 河南国安建设集团有限公司网站/湖南网站建设推荐
  • easyui 网站开发实现/厦门百度广告
  • 旅游主题网站怎么做/磁力蜘蛛搜索引擎
  • 申请个人网站怎么申请/百度推广电话销售好做吗
  • 网站建设项目策划/网址域名大全
  • 免费手机网页网站/友情链接管理系统
  • 深圳企业网站建设公司哪家好/百度图片识别在线识图
  • 软件开发流程详解/西安seo专员
  • wordpress 图片自动加/win10必做的优化
  • 做网站推广/seo搜索引擎优化论文
  • 网站收录少的原因/旅游企业seo官网分析报告
  • 网站开发盈利模式/seo工作内容有哪些
  • 网站域名什么意思/沈阳网站制作推广
  • 上海市建设合同信息表网站/免费发帖的平台有哪些
  • 个人域名怎么做社交网站/蒙牛牛奶推广软文
  • 建设网站的工作步骤是/建站工具有哪些
  • 做网站的规范尺寸/合肥网站
  • 无版权图片做网站/百度seo优化培训
  • 郑州睿网站建设/搜索引擎优化seo专员招聘
  • 泰拳图片做网站用/电脑培训课程
  • 投资网站建设/成都seo专家
  • 有什么做美食的网站/石家庄房价
  • 基金网站开发/推广合作
  • 做网站需要icp/如何创建个人网站免费
  • 多终端响应式网站/宁波seo高级方法
  • [量化交易](1获取加密货币的交易数据)
  • 深入剖析 React 合成事件:透过 onClick 看本质
  • 正则表达式解析(二)
  • 机器学习 TF-IDF提取关键词,从原理到实践的文本特征提取利器​
  • Spring-Security-5.7.11升级6.5.2
  • libwebsockets 服务端获取过代理的真实连接IP