服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - Spring Mvc中传递参数方法之url/requestMapping详解

Spring Mvc中传递参数方法之url/requestMapping详解

2020-12-08 15:00果感 Java教程

在开发中,参数传递是必不可少的一个功能,下面这篇文章主要给大家介绍了关于Spring Mvc中传递参数方法之url/requestMapping的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。

前言

相信大家在使用spring的项目中,前台传递参数到后台是经常遇到的事, 我们必须熟练掌握一些常用的参数传递方式和注解的使用,本文将给大家介绍关于Spring Mvc中传递参数方法之url/requestMapping的相关内容,分享出来供大家参考学习,话不多说,直接上正文。

方法如下

1. @requestMapping: 类级别和方法级别的注解, 指明前后台解析的路径。 有value属性(一个参数时默认)指定url路径解析,method属性指定提交方式(默认为get提交)

?
1
2
3
4
5
6
7
8
9
10
11
12
@RequestMapping(value = "/testing")
 
public class QuestionSetDisplayController extends BaseController {}
 
 
@RequestMapping(value = "/applicant/recover")
 
 public BaseModel recover(String cellphone) throws OTPException {
 
  return userService.recover(cellphone);
 
 }

2. @RequestParam: 请求参数规则注解。 value属性匹配前台传递的参数(一个参数时默认),required属性此字段是否必须传值(boolean,默认为true),defaultValue此参数的默认值(存在此参数时,说明前台不必需传递参数,required为false)

?
1
2
3
4
5
6
7
@RequestMapping("/login") //url: /login?name=tom
 
 public String login(@RequestParam(value="age",required=false,defaultValue="24") String agenum,@RequestParam("name") String name){
 
  return "hello";
 
 }

3. @PathVariable: url参数注解, 一般用于从url中获取参数

?
1
@RequestMapping(value = "/system/getAllCodeTableData/{category}", method = RequestMethod.GET) //前台url: '/system/getAllCodeTableData/APPLICANT_ENGLISH'
?
1
public List<CodeTableModel> getCodeTableModelByCategory(@PathVariable String category) throws OTPException {<br>     return codeTableService.getCodeTableModelByCategory(category); <br>}

4. 特殊的 属性编辑器 在前台到后台data日期类型等的转化会出错,此时我们需要属性编辑器进行属性的转化 //日期传递参数会产生异常,因此在传递时间参数时,需要进行类型转换,在初始化时进行数据的绑定与转化

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
@RequestMapping(value="/todate/{data}",method=RequestMethod.GET)
 
 public String todate(@PathVariable("data") Date date){
 
  System.out.println(new SimpleDateFormat("yyyy-MM-dd").format(date));
 
  return "start";
 
 }
 
 @InitBinder //初始化参数绑定, 日期类型的转化,
 
 public void initBinder(ServletRequestDataBinder binder){
 
  binder.registerCustomEditor(java.util.Date.class, new CustomDateEditor(new SimpleDateFormat("yyyy-MM-dd"),true));
 
 }

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对服务器之家的支持

原文链接:http://www.cnblogs.com/nelson-hu/p/6595522.html

延伸 · 阅读

精彩推荐