小程序页面之间进行传值的操作办法
822
2023-01-15
SpringMVC请求参数的使用总结
本次数据请求使用postman, postman-:https://getpostman.com/
一、页面跳转
1. 页面跳转
@Controller
public class IndexController {
/**
* 进入首页
*
* @return 首页页面
*/
@RequestMapping("/")
public String index(){
return "/index";
}
}
2. 请求转发
@Controller
public class IndexController {
/**
* 进入首页
*
* @return 首页页面
*/
@RequestMapping("/")
public String index(){
return "/index";
}
/**
* 访问登录页面时,如果已经登录就转发到首页,未登录就进入登录页面
*
* @return 登录页面
*/
@RequestMapping("/login")
public String forward(){
if(true){
return "forward:/index";
}
return "login";
}
}
3. 重定向
@Controller
public class IndexController {
/**
* 进入首页
*
* @return 首页页面
*/
@RequestMapping("/")
public String index(){
return "/index";
}
/**
* 访问登录页面时,如果已经登录就重定向到首页,未登录就进入登录页面
*
* @return 登录页面
*/
@RequestMapping("/login")
public String redirect(){
if(true){
return "redirect:/index";
}
return "login";
}
}
二、接收表单提交参数
1. 接收简单包装类型
模拟用户登录,接收用户名、密码、验证码参数
/**
* 提交登陆信息
*
* @param username 用户名
* @param password 密码
* @param captcha 验证码
* @return 结果
*/
@PostMapping("/login1")
@ResponseBody
public Map
Map
resultMap.put("code", 200);
resultMap.put("msg", "登录成功");
resultMap.put("username", username);
resultMap.put("password", password);
resultMap.put("captcha", captcha);
return resultMap;
}
2. 通过request获取请求参数
/**
* 提交登陆信息
*
* @return 结果
*/
@PostMapping("/login2")
@ResponseBody
public Map
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
HttpServletRequest request = attributes.getRequest();
String usernaHpyhFRRme = request.getParameter("username");
String password = request.getParameter("password");
String captcha = request.getParameter("captcha");
Map
resultMap.put("code", 200);
resultMap.put("msg", "登录成功");
resultMap.put("username", username);
resultMap.put("password", password);
resultMap.put("captcha", captcha);
return resultMap;
}
3. 接收对象类型
@Data
public class LoginUser {
private String username;
private String password;
private String code;
}
/**
* 提交登陆信息
*
* @return 结果
*/
@PostMapping("/login3")
@ResponseBody
public Map
Map
resultMap.put("code", 200);
resultMap.put("msg", "登录成功");
resultMap.put("username", loginUser.getUsername());
resultMap.put("password", loginUser.getPassword());
resultMap.put("captcha", loginUser.getCaptcha());
return resultMap;
}
4.接收Map类型
/**
* 提交登陆信息
*
* @return 结果
*/
@PostMapping("/login4")
@ResponseBody
public Map
Map
resultMap.put("code", 200);
resultMap.put("msg", "登录成功");
resultMap.put("username", loginUser.get("username"));
resultMap.put("pHpyhFRRassword", loginUser.get("password"));
resultMap.put("captcha", loginUser.get("captcha"));
return resultMap;
}
5.接收数组类型
/**
* 修改角色权限
*
* @param userId 用户id
* @param roleIds 角色id
* @return 结果
*/
@PostMapping("/modifyRole1")
@ResponseBody
public Map
Map
resultMap.put("code", 200);
resultMap.put("msg", "修改角色权限成功");
resultMap.put("userId", userId);
resultMap.put("roleIds", Arrays.toString(roleIds));
return resultMap;
}
6.接收List类型
/**
* 修改角色权限
*
* @param userId 用户id
* @param roleIds 角色id
* @return 结果
*/
@PostMapping("/modifyRole2")
@ResponseBody
public Map
Map
resultMap.put("code", 200);
resultMap.put("msg", "修改角色权限成功");
resultMap.put("userId", userId);
resultMap.put("roleIds", roleIds.toString());
return resultMap;
}
7.接收Set类型
/**
* 修改角色权限
*
* @param userId 用户id
* @param roleIds 角色id
* @return 结果
*/
@PostMapping("/modifyRole3")
@ResponseBody
public Map
Map
resultMap.put("code", 200);
resultMap.put("msg", "修改角色权限成功");
resultMap.put("userId", userId);
resultMap.put("roleIds", roleIds.toString());
return resultMap;
}
8.接收带List参数的实体类
@Data
public class ModifyRole {
private Integer userId;
private List
}
/**
* 修改角色权限
*
* @param modifyRole 数据
* @return 结果
*/
@PostMapping("/modifyRole4")
@ResponseBody
public Map
Map
resultMap.put("code", 200);
resultMap.put("msg", "修改角色权限成功");
resultMap.put("modifyRole", modifyRole.toString());
return resultMap;
}
三、接收jsON参数
1. 接收带List参数的实体类
@Data
public class ModifyRole {
private Integer userId;
private List
}
/**
* 修改角色权限
*
* @param modifyRole 数据
* @return 结果
*/
@PostMapping("/modifyRole5")
@ResponseBody
public Map
Map
resultMap.put("code", 200);
resultMap.put("msg", "修改角色权限成功");
resultMap.put("modifyRole", modifyRole.toString());
return resultMap;
}
2.接收List
@Data
public class SysUser {
private String username;
private String password;
}
/**
* 批量新增用户
*
* @param sysUserList 数据集合
* @return 结果
*/
@PostMapping("/batchInsert")
@ResponseBody
public Map
Map
resultMap.put("code", 200);
resultMap.put("msg", "批量新增用户成功");
resultMap.put("modifyRoleList", sysUserList.toString());
return resultMap;
}
3.接收Set
/**
* 批量新增用户
*
* @param sysUserSet 数据集合
* @return 结果
*/
@PostMapping("/batchInsert2")
@ResponseBody
public Map
Map
resultMap.put("code", 200);
resultMap.put("msg", "批量新增用户成功");
resultMap.put("modifyRoleSet", sysUserSet.toString());
return resultMap;
}
四、文件上传、-
1. 文件上传
新建一个文件
/**
* 上传文件
*
* @param multipartFile 上传的文件
* @return 结果
*/
@PostMapping("/upload")
@ResponseBody
public void upload(MultipartFile multipartFile) throws IOException {
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
// 获取文件流
InputStream inputStream = multipartFile.getInputStream();
try (BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream, UTF_8.name()))){
// 读取文件数据
String collect = reader.lines().collect(Collectors.joining());
// 直接返回文件数据给前端
attributes.getResponse().getWriter().write(collect);
} catch (Exception e){
e.printStackTrace();
}
}
2. 文件-
/**
* 文件-
*/
@GetMapping("/download")
public ResponseEntity
File file = ResourceUtils.getFile("classpath:application.yml");
byte[] body;
try (InputStream is = new FileInputStream(file)){
body = new byte[is.available()];
is.read(body);
}
HttpHeaders headers = new HttpHeaders();
headers.add("Content-Disposition", "attchement;filename=" + file.getName());
return new ResponseEntity<>(body, headers, HttpStatus.OK);
}
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~