我是靠谱客的博主 故意鸭子,这篇文章主要介绍SSM开发书评网25:写短评;一:需求分析;二:正式开发;,现在分享给大家,希望可以做个参考。

说明:

(1)本篇博客开发内容:前面我们实现了会员注册和登录功能;那么会员登录后,就开始介绍与会员交互有关的功能;本篇博客介绍第二个功能【为图书写短评】;

(2)本篇博客的一个需要强调的【开发技巧】:比如我们Service层的一个方法,这个方法是向数据表插入数据的方法;虽然这个方法不是查询方法,但是这个方法最好还是返回我们插入的实体对象;万一有的地方,调用这个插入方法时,想得到插入的对象呐,是吧。。。。。这样做,让程序的更给力,更全面;

目录

一:需求分析;

二:正式开发;

1.在detail.ftl前端编写:点击【写短评】按钮后,在页面上弹出一个写短评的对话框;

2.在MemberService接口中,定义发布新短评的方法:evaluate()方法;

3.在MemberServiceImpl实现类中,实现发布新短评的方法:evaluate()方法;

4.在MemberController类中,增加前后端交互的方法:evaluate()方法;(Controller中的方法可以随便起,但为了见名知意,也起做evaluate了)

5.在detail.ftl前端编写:点击【写短评】按钮后,向后端发起ajax请求;


一:需求分析;


二:正式开发;

1.在detail.ftl前端编写:点击【写短评】按钮后,在页面上弹出一个写短评的对话框;

启动Tomcat,观察效果:没问题;

接下来就是,写完了短评,点击【提交】,会向后台发起ajax请求;但是,我们后端目前还没有处理写短评的逻辑;所以,接下来我们就去后端编写对应的逻辑; 

 

2.在MemberService接口中,定义发布新短评的方法:evaluate()方法;

复制代码
1
2
3
4
5
6
7
8
9
/** * 发布新的短评 * @param memberId 用户id * @param bookId 图书id * @param score 评分 * @param content 短评内容 * @return 短评对象 */ public Evaluation evaluate(Long memberId, Long bookId, Integer score, String content);

说明: 

(1)这儿有遇到了上篇博客提到的所谓的【灵活性】;

3.在MemberServiceImpl实现类中,实现发布新短评的方法:evaluate()方法;

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/** * 发布新的短评 * * @param memberId 用户id * @param bookId 图书id * @param score 评分 * @param content 短评内容 * @return 短评对象 */ public Evaluation evaluate(Long memberId, Long bookId, Integer score, String content) { Evaluation evaluation = new Evaluation(); evaluation.setBookId(bookId); evaluation.setMemberId(memberId); evaluation.setScore(score); evaluation.setContent(content); evaluation.setCreateTime(new Date()); evaluation.setState("enable");//设置审核状态,默认为enable evaluation.setEnjoy(0);//设置初始点赞数量 evaluationMapper.insert(evaluation); return evaluation; }

说明:

(1)这个方法很简单,就是根据传过来的参数,和数据表的要求,实例化Evaluation对象,然后调用Dao层方法,去插数据就行了;

(2)自然要注入EvaluationMapper对象;同时,因为MemberServiceImpl类默认设置全部方法开启事务,所以我们不用再在evaluate()方法上设置事务了;

4.在MemberController类中,增加前后端交互的方法:evaluate()方法;(Controller中的方法可以随便起,但为了见名知意,也起做evaluate了)

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/** * 发布新的短评 * @param memberId 用户id * @param bookId 图书id * @param score 评分 * @param content 短评内容 * @return */ @PostMapping("/evaluate") @ResponseBody public Map evaluate(Long memberId, Long bookId, Integer score, String content) { Map result = new HashMap(); try { memberService.evaluate(memberId, bookId, score, content); result.put("code", "0"); result.put("msg", "success"); } catch (BussinessException ex) { ex.printStackTrace(); result.put("code", ex.getCode()); result.put("msg", ex.getMsg()); } return result; }

说明:

(1)这个方法很简单,没什么好说的;

(2)Service层返回值的一点说明:插入更新类的方法,最好也要返回【插入、更新】的数据;

5.在detail.ftl前端编写:点击【写短评】按钮后,向后端发起ajax请求;

 

启动Tomcat,观察效果:没问题; 

在数据库中,也有对应的数据;

 


至此,写短评的功能就完成了;下篇博客将介绍会员给短评点赞的功能;

最后

以上就是故意鸭子最近收集整理的关于SSM开发书评网25:写短评;一:需求分析;二:正式开发;的全部内容,更多相关SSM开发书评网25:写短评内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(72)

评论列表共有 0 条评论

立即
投稿
返回
顶部