In this tutorial you will learn about @PathVariable Annotation
In this tutorial you will learn about @PathVariable AnnotationBy using the @PathVariable annotation you can create the dynamic varible at the url and can access that varible from there as.
/* * Here pathVar is the new path variable when it finds the * /param/process-form/pathVar it is copies by the @PathVariable into the * pathVar variable. * try url as when you are running application '/PathVariableAnnotation/param/client-req/productName' */ @RequestMapping(value = "/client-req/{pathVar}") public String processReq(Model model, @PathVariable("pathVar") String pathVar) { model.addAttribute("pathVar", pathVar); return "view-data"; }
Please consider the complete controller class given below
SampleInterfaceImp.java
package roseindia.controller; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; @Controller @RequestMapping(value = "/param/") public class ApplicationController { /* * Here pathVar is the new path variable when it finds the * /param/process-form/pathVar it is copies by the @PathVariable into the * pathVar variable. * try url as when you are running application '/PathVariableAnnotation/param/client-req/productName' */ @RequestMapping(value = "/client-req/{pathVar}") public String processReq(Model model, @PathVariable("pathVar") String pathVar) { model.addAttribute("pathVar", pathVar); return "view-data"; } /* * By using @PathVariable you can also add new variable between the URL. * try url as when you are running application '/PathVariableAnnotation/param/product/YourNewVarible/information' */ @RequestMapping(value = "/product/{productName}/information") public String anotherReq(Model model, @PathVariable("productName") String productName) { model.addAttribute("productName", productName); return "view-data"; } }
You can download the complete source code from here