2014年3月22日 星期六

SpringMVC PathVariable

在@RequestMapping中,

當使用URL對應時還可以使用{}占位符號的方式傳遞參數,
package com.springmvc.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping("/item")
public class ItemController {

 @RequestMapping("/{itemNo}")
 public String create(@PathVariable("itemNo") String itemNo) {
  return "/item/create";
 }

}

在ItemController中,

當您呼叫/webapp/item/123456時,

會執行create()並且幫你把123456綁定到itemNo的變數中,

除了可以使用function的占位符外,

也可以使用class的占位符,

package com.springmvc.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping("/product/{productBand}")
public class ProductController {

 @RequestMapping("/{productNo}")
 public String create(@PathVariable String productBand,
   @PathVariable String productNo) {
  return "/Product/create";
 }

}

呼叫/webapp/product/audi/R8,

則會執行create(),

並且綁定productBand=audi,productNo=R8。






沒有留言:

張貼留言