SpringMvc的传递参数方式

Easter79
• 阅读 459

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

@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) 

@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中获取参数

@RequestMapping (value =  "/system/getAllCodeTableData/{category}" , method = RequestMethod.GET)

//前台url: '/system/getAllCodeTableData/APPLICANT_ENGLISH'

  public  List<CodeTableModel> getCodeTableModelByCategory( @PathVariable  String category)  throws  OTPException {<br>      return  codeTableService.getCodeTableModelByCategory(category); <br>}

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

 @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 ));

}

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

关于前台angular使用get/post传递参数, 后台接收

get方式传参

$scope.getFlows = function(key) {

$scope.flows = Flow.search({type:key})  // 参数以{key: value, ...}传递

}

@GetMapping( "" )

@ResponseBody

public  List<DefinitionDTO> query(

@RequestParam(value= "type" ) String type) throws Exception {

// 后台以requestparam来获取参数

if  (!type. equals ( "all" )) {

return  activitiService.findByKey(type);

}

return  activitiService.findAll();

}

post传参

$scope.batchDelete = function() {

$scope.selectedVehicles = getSelected();

if  (angular.isDefined($scope.selectedVehicles) && $scope.selectedVehicles.length > 0) {

var  vehicle = {ids: $scope.selectedVehicles};  //前台封装成对象

VehicleInfo.batchDelete(vehicle, function(response) {

toPage(1, $scope.pageInfos.size,  null );

});

}

}

@PostMapping( "/batchDelete" )

@ResponseBody   //后台以requestbody注解来获取请求对象参数

public  void  batchDelete(@RequestBody VehicleDTO vehicle) throws Exception {

for  (Long id : vehicle.getIds()) {

vehicleService.deleteVehicle(id, Boolean.TRUE);

}

}

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Wesley13 Wesley13
2年前
java将前端的json数组字符串转换为列表
记录下在前端通过ajax提交了一个json数组的字符串,在后端如何转换为列表。前端数据转化与请求varcontracts{id:'1',name:'yanggb合同1'},{id:'2',name:'yanggb合同2'},{id:'3',name:'yang
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Wesley13 Wesley13
2年前
java8新特性
Stream将List转换为Map,使用Collectors.toMap方法进行转换背景:User类,类中分别有id,name,age三个属性。List集合,userList,存储User对象1、指定keyvalue,value是对象中的某个属性值。 Map<Integer,StringuserMap1userList.str
Wesley13 Wesley13
2年前
3.spring boot Controller获取请求参数的值
1.获取连接中的参数,使用倒的关键词@PathVariable@RestControllerpublicclassHelloController{@RequestMapping(value"/hello/{id}",methodRequestMethod.GET)publicStringindex(@Path
Stella981 Stella981
2年前
HTML5新增input标签属性
一.inputtype属性1<formaction""2邮箱<inputtype"email"name""id""<inputtype"submit"value"提交"<br/<br/3手机号码<inputtype"tel"name
Easter79 Easter79
2年前
SpringMVC学习(二)@Requestmapping映射和Rest风格
1、@RequestMapping1.1、@RequestMapping映射请求注解在SpringMVC中使用@RequestMapping注解可以为控制器指定处理哪些URL请求可以用于类上或者方法上类定义处:提供初步的请求映射信息。相对于WEB应用
Stella981 Stella981
2年前
JFinal未来发展建议
单纯从易容性和灵活性上来说,希望未来JFinal能提供如下功能支持:1.提供注解支持的Controller层类比于SpringMVC,提供:URL,参数的注解支持,形如:@RequestMapping(value"/business/v1/api1/{orderId}",method{RequestMethod.GET,Requ
Stella981 Stella981
2年前
SpringBoot2 学习10 Controller接收参数的方式
地址传值@PathVariable获取路径参数。即url/{id}这种形式。?传值@RequestParam获取查询参数。即url?name这种形式用注解@RequestParam绑定请求参数到方法入参当请求参数username不存在时会有异常发生,可以通过设置属性requiredfalse解决,例如:@R
Easter79 Easter79
2年前
SpringBoot2 学习10 Controller接收参数的方式
地址传值@PathVariable获取路径参数。即url/{id}这种形式。?传值@RequestParam获取查询参数。即url?name这种形式用注解@RequestParam绑定请求参数到方法入参当请求参数username不存在时会有异常发生,可以通过设置属性requiredfalse解决,例如:@R
Easter79
Easter79
Lv1
今生可爱与温柔,每一样都不能少。
文章
2.8k
粉丝
5
获赞
1.2k