“SpringMVC:常用关键字”的版本间差异

来自Wikioe
跳到导航 跳到搜索
(建立内容为“category:SpringMVC”的新页面)
 
无编辑摘要
第1行: 第1行:
[[category:SpringMVC]]
[[category:SpringMVC]]
{| class="wikitable"
!
! 关键字
! 说明
! 备注
! 链接
|-
| rowspan="3" | url映射
| <syntaxhighlight lang="java" inline>@RequestMapping</syntaxhighlight>
| url映射
| <syntaxhighlight lang="java" inline>@RequestMapping(value="/editItems",method={RequestMethod.POST,RequestMethod.GET})</syntaxhighlight>
| [http://wiki.eijux.com/SpringMVC%EF%BC%9A%E6%B3%A8%E8%A7%A3%E5%BC%80%E5%8F%91#.40RequestMapping_.E4.BD.BF.E7.94.A8]
|-
| <syntaxhighlight lang="java" inline>@PathVaraible</syntaxhighlight>
| 动态URI、RESTful
| <syntaxhighlight lang="java">
@RequestMapping(value = "/fetch/{id:[a-z]+}/{name} ", method = RequestMethod.GET)
public String getDynamicUriValueRegex(@PathVariable("name") String name) {}
</syntaxhighlight>
| [http://wiki.eijux.com/SpringMVC%EF%BC%9A%E6%B3%A8%E8%A7%A3%E5%BC%80%E5%8F%91#.E5.A4.84.E7.90.86.E5.8A.A8.E6.80.81URI][http://wiki.eijux.com/SpringMVC%EF%BC%9A%E9%AB%98%E7%BA%A7%E5%BA%94%E7%94%A8#URL_.E6.A8.A1.E6.9D.BF.E6.A8.A1.E5.BC.8F.E6.98.A0.E5.B0.84]
|-
| <syntaxhighlight lang="java" inline>@GetMapping</syntaxhighlight>
| RequestMapping的组合注解
| =<syntaxhighlight lang="java" inline>@RequestMapping(method =RequestMethod.GET)</syntaxhighlight>
<syntaxhighlight lang="java" inline>@PostMapping</syntaxhighlight>、<syntaxhighlight lang="java" inline>@PutMapping</syntaxhighlight>、<syntaxhighlight lang="java" inline>@DeleteMapping</syntaxhighlight>、<syntaxhighlight lang="java" inline>@PatchMapping</syntaxhighlight>类似
| [http://wiki.eijux.com/SpringMVC%EF%BC%9A%E6%B3%A8%E8%A7%A3%E5%BC%80%E5%8F%91#.E5.BF.AB.E6.8D.B7.E6.96.B9.E5.BC.8F.EF.BC.88.E7.BB.84.E5.90.88.E6.B3.A8.E8.A7.A3.EF.BC.89]
|-
| rowspan="1" | 参数绑定
| <syntaxhighlight lang="java" inline>@RequestParam</syntaxhighlight>
| 绑定request参数到方法形参
| <syntaxhighlight lang="java" inline>public String editItems(@RequestParam(value="id",required=true,defaultValue="10001") Integer items_id)throws Exception {}</syntaxhighlight>
| [http://wiki.eijux.com/SpringMVC%EF%BC%9A%E6%B3%A8%E8%A7%A3%E5%BC%80%E5%8F%91#.E7.AE.80.E5.8D.95.E7.B1.BB.E5.9E.8B]
|-
| rowspan="2" | Validation
| <syntaxhighlight lang="java" inline>@Validated</syntaxhighlight>
|
| <syntaxhighlight lang="java" inline>public String editItemsSubmit(Integer id,@Validated(value = { ValidGroup1.class}) ItemsCustom itemsCustom,BindingResult bindingResult) throws Exception{}</syntaxhighlight>
| [http://wiki.eijux.com/SpringMVC%EF%BC%9A%E9%AB%98%E7%BA%A7%E5%BA%94%E7%94%A8#.E6.8D.95.E8.8E.B7.E9.94.99.E8.AF.AF]
|-
| <syntaxhighlight lang="java" inline>@NotNull</syntaxhighlight>等
| 校验规则
| <syntaxhighlight lang="java" inline>@NotNull(message="{item.price.isNull}",groups= {ValidGroup1.class})</syntaxhighlight>
| [http://wiki.eijux.com/SpringMVC%EF%BC%9A%E9%AB%98%E7%BA%A7%E5%BA%94%E7%94%A8#.E6.A0.A1.E9.AA.8C.E6.B3.A8.E8.A7.A3]
|-
| rowspan="2" | 数据回显
| <syntaxhighlight lang="java" inline>Model</syntaxhighlight>
| 数据回显(简单类型、pojo回显)
|
# <syntaxhighlight lang="java">
@RequestMapping(value="/editItems",method={RequestMethod.GET})
public String editItems(Model model,Integer id)throws Exception{
//传入的id重新放到request域
model.addAttribute("id", id);
}
</syntaxhighlight>
# <syntaxhighlight lang="java">
@RequestMapping("/editItemSubmit")
public String editItemSubmit(Model model,ItemsCustom itemsCustom){
// 可以直接使用model将提交pojo回显到页面
model.addAttribute("items", itemsCustom);
}
</syntaxhighlight>
| [http://wiki.eijux.com/SpringMVC%EF%BC%9A%E9%AB%98%E7%BA%A7%E5%BA%94%E7%94%A8#.E6.95.B0.E6.8D.AE.E5.9B.9E.E6.98.BE][http://wiki.eijux.com/SpringMVC%EF%BC%9A%E9%AB%98%E7%BA%A7%E5%BA%94%E7%94%A8#pojo.E7.B1.BB.E5.9E.8B]
|-
| <syntaxhighlight lang="java" inline>@ModelAttribute</syntaxhighlight>
| pojo类型回显、方法返回值回显
|
# <syntaxhighlight lang="java">
@RequestMapping("/editItemSubmit")
public String editItemSubmit(Integer id,@ModelAttribute("item") ItemsCustom itemsCustom){}
</syntaxhighlight>
# <syntaxhighlight lang="java">
@ModelAttribute("itemtypes")
public Map<String, String> getItemTypes() {
Map<String, String> itemTypes = new HashMap<String, String>();
itemTypes.put("101", "数码");
itemTypes.put("102", "母婴");
return itemTypes;
}
</syntaxhighlight>
| [http://wiki.eijux.com/SpringMVC%EF%BC%9A%E9%AB%98%E7%BA%A7%E5%BA%94%E7%94%A8#pojo.E7.B1.BB.E5.9E.8B][http://wiki.eijux.com/SpringMVC%EF%BC%9A%E9%AB%98%E7%BA%A7%E5%BA%94%E7%94%A8#.E6.96.B9.E6.B3.95.E8.BF.94.E5.9B.9E.E5.80.BC]
|-
| rowspan="2" | json数据交互
| <syntaxhighlight lang="java" inline>@RequestBody</syntaxhighlight>
| 将请求的json串转成pojo对象,进行参数绑定。
| rowspan="2" | <syntaxhighlight lang="java">
@RequestMapping("/editItemSubmit_RequestJson")
public @ResponseBody Items editItemSubmit_RequestJson(@RequestBody Items items) throws Exception {}
</syntaxhighlight>
| rowspan="2" | [http://wiki.eijux.com/SpringMVC%EF%BC%9A%E9%AB%98%E7%BA%A7%E5%BA%94%E7%94%A8#json.E6.95.B0.E6.8D.AE.E4.BA.A4.E4.BA.92]
|-
| <syntaxhighlight lang="java" inline>@ResponseBody</syntaxhighlight>
| 将pojo对象转成json,进行输出。
|}

2020年10月6日 (二) 03:26的版本


关键字 说明 备注 链接
url映射 @RequestMapping url映射 @RequestMapping(value="/editItems",method={RequestMethod.POST,RequestMethod.GET}) [1]
@PathVaraible 动态URI、RESTful
@RequestMapping(value = "/fetch/{id:[a-z]+}/{name} ", method = RequestMethod.GET)
public String getDynamicUriValueRegex(@PathVariable("name") String name) {}
[2][3]
@GetMapping RequestMapping的组合注解 =@RequestMapping(method =RequestMethod.GET)

@PostMapping@PutMapping@DeleteMapping@PatchMapping类似

[4]
参数绑定 @RequestParam 绑定request参数到方法形参 public String editItems(@RequestParam(value="id",required=true,defaultValue="10001") Integer items_id)throws Exception {} [5]
Validation @Validated public String editItemsSubmit(Integer id,@Validated(value = { ValidGroup1.class}) ItemsCustom itemsCustom,BindingResult bindingResult) throws Exception{} [6]
@NotNull 校验规则 @NotNull(message="{item.price.isNull}",groups= {ValidGroup1.class}) [7]
数据回显 Model 数据回显(简单类型、pojo回显)
  1. @RequestMapping(value="/editItems",method={RequestMethod.GET})
    public String editItems(Model model,Integer id)throws Exception{
    	//传入的id重新放到request域
    	model.addAttribute("id", id);
    }
    
  2. @RequestMapping("/editItemSubmit")
    public String editItemSubmit(Model model,ItemsCustom itemsCustom){
    	// 可以直接使用model将提交pojo回显到页面
    	model.addAttribute("items", itemsCustom);
    }
    
[8][9]
@ModelAttribute pojo类型回显、方法返回值回显
  1. @RequestMapping("/editItemSubmit")
    public String editItemSubmit(Integer id,@ModelAttribute("item") ItemsCustom itemsCustom){}
    
  2. @ModelAttribute("itemtypes")
    public Map<String, String> getItemTypes() {
    
    	Map<String, String> itemTypes = new HashMap<String, String>();
    	itemTypes.put("101", "数码");
    	itemTypes.put("102", "母婴");
    
    	return itemTypes;
    }
    
[10][11]
json数据交互 @RequestBody 将请求的json串转成pojo对象,进行参数绑定。
@RequestMapping("/editItemSubmit_RequestJson")
public @ResponseBody Items editItemSubmit_RequestJson(@RequestBody Items items) throws Exception {}
[12]
@ResponseBody 将pojo对象转成json,进行输出。