SpringMVC中通过@ResponseBody返回对象,Js中调用@ResponseBody返回值,统计剩余评论字数的js,@RequestParam默认值,@PathVariable的用法
1、SpringMVC中通过@ResponseBody、@RequestParam默认值,@PathVariable的用法
package com.kuman.cartoon.controller.friendsfuns; import java.util.ArrayList; import java.util.List; import java.util.Map; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.SessionAttributes; import com.kuman.cartoon.common.Page; import com.kuman.cartoon.common.controller.BaseController; import com.kuman.cartoon.entity.Friend; import com.kuman.cartoon.entity.User; import com.kuman.cartoon.service.UserService; /** * "我的好友"和"我的粉丝"部分的代码 * * 修改原来的好友和粉丝部分的代码 * * @author to.to */ @Controller @RequestMapping(value = "/friendsAndFuns", method = { RequestMethod.GET, RequestMethod.POST }) @SessionAttributes(value = { "accountid", "account" }) public class FriendsAndFuns extends BaseController { @SuppressWarnings("unused") private static final Logger LOGGER = LoggerFactory .getLogger(FriendsAndFuns.class); @Autowired UserService userService; /** * 跳转到"我的好友"和"我的关注页面" * * @param userId * 用户登录用的Id * @param friendId * 登录用户的好友的Id * @param pageNo * 当前页码数 * @param pageRow * 每页显示条数 * @return */ @RequestMapping(value = "/toFriendFuns/{userId}") public String toFriendFuns( Model model, @PathVariable("userId") int userId, @RequestParam(value = "pageNo", required = false, defaultValue = "1") int pageNo, @RequestParam(value = "pageRow", required = false, defaultValue = "12") int pageRow, @RequestParam(value = "friendId", required = false, defaultValue = "-1") int friendId) { // 1、判断用户是否登陆过了,如果登录过了直接进入到后续过程 User user = isLogin(model); if (null == user) { return "redirect:/user/login"; } else { // 如果有了直接调转到登陆页面 // LOGGER.info("friendId = " + friendId); // LOGGER.info("pageNo = " + pageNo); // LOGGER.info("pageRow = " + pageRow); model.addAttribute("user", user); model.addAttribute("friendId", friendId); model.addAttribute("pageNo", pageNo); model.addAttribute("pageRow", pageRow); return "/web/friendsfuns/friendfuns"; } } /** * 显示关注的用户 * * @param map * @param userId * @param pageNo * @param pageRow * @return */ @SuppressWarnings({ "unchecked", "rawtypes" }) @RequestMapping(value = "/follow/{userId}", produces = { "text/html" }) public String showFollow( Map<String, Object> map, Model model, @PathVariable("userId") int userId, @RequestParam(value = "friendId", required = false, defaultValue = "-1") int friendId, @RequestParam(value = "pageNo", required = false, defaultValue = "1") int pageNo, @RequestParam(value = "pageRow", required = false, defaultValue = "12") int pageRow) { // 1、判断用户是否登录了,如果登录了直接查询,如果没有要跳转到登录页面 User loginedUser = isLogin(model); if (null == loginedUser) { return "redirect:/user/login"; } else { User user = userService.queryUser(userId, false); Page page = userService.queryUserByFansId(pageNo, pageRow, user.getUserId()); // 关注的好友 List<Object> fUserList = new ArrayList<Object>(); for (Object o : page.getRecordList()) { Friend friend = (Friend) o; // 关注的好友 User fUser = friend.getUser(); // 关注的好友所关注的好友 List<Friend> friendList = userService.queryUserByFansId(fUser .getUserId()); if (!CollectionUtils.isEmpty(friendList)) { fUser.setFollowCount(friendList.size()); } fUserList.add(friend); } page.setRecordList(fUserList); // 用户信息 map.put("user", user); map.put("page", page); return "/web/friendsfuns/follow"; } } /** * 用于模拟跳转到"动态管理"页面中去 * * @param model * @return */ @RequestMapping(value = "/toUserDy/{userId}") public String toUserDy(Model model, @PathVariable("userId") int userId) { return "/web/friendsfuns/userdy"; } /** * 获取粉丝信息 * * @param map * @param userId * @param pageNo * @param pageRow * @return */ @SuppressWarnings({ "rawtypes", "unchecked" }) @RequestMapping(value = "/funs/{userId}", produces = { "text/html" }) public String showFuns( Map<String, Object> map, Model model, @PathVariable("userId") int userId, @RequestParam(value = "friendId", required = false, defaultValue = "-1") int friendId, @RequestParam(value = "pageNo", required = false, defaultValue = "1") int pageNo, @RequestParam(value = "pageRow", required = false, defaultValue = "12") int pageRow) { // 1、判断用户是否已经登录进去了,如果登录进去了,则可以查询自己的粉丝 User loginedUser = isLogin(model); if (null == loginedUser) { return "redirect:/user/login"; } else { User user = userService.queryUser(userId, false); Page page = userService.queryFansByUserId(pageNo, pageRow, userId); // 粉丝 List<Object> fUserList = new ArrayList<Object>(); for (Object o : page.getRecordList()) { Friend friend = (Friend) o; // 粉丝 User fUser = friend.getFans(); // 粉丝所关注的好友 List<Friend> friendList = userService.queryUserByFansId(fUser .getUserId()); if (!CollectionUtils.isEmpty(friendList)) { fUser.setFollowCount(friendList.size()); } fUserList.add(friend); } page.setRecordList(fUserList); map.put("user", user); map.put("page", page); return "/web/friendsfuns/funs"; } } } |
最新文章
- iOS在导航栏上居中显示分段控件(UISegmentedControl)
- 【转】JAVA CAS原理深度分析
- InnoDB , MyISAM :MySQL 5.7 Supported Storage Engines
- ORACLE的分组统计之ROLLUP(一)
- TC SRM 665 DIV2 A LuckyXor 暴力
- 【排障】编译安装Mysql并使用自启动脚本mysqld后报错
- 设计理念 : popup login 在前后台
- 使用Vue2完成“小红书” app
- go语言nsq源码解读二 nsqlookupd、nsqd与nsqadmin
- 金蝶K/3 同步用核算项目配置
- sklearn交叉验证3-【老鱼学sklearn】
- Unity3D 代码加密保护工具
- P4717 【模板】快速沃尔什变换
- poj1442 Black Box
- Linux命令:readonly
- linux 2.6.32.220的一个crash记录
- [Android] 旋转照片/图片
- Ansible Tower系列 三(使用tower执行一个任务)【转】
- 构建ASP.NET网站十大必备工具
- 动态加载script文件