spring mvc @PathVariable綁定URI模板變量值方式
@PathVariable綁定URI模板變量值
@PathVariable用于將請(qǐng)求URL中的模板變量映射到功能處理方法的參數(shù)上。
@RequestMapping(value="/users/{userId}/topics/{topicId}")
public String test(
@PathVariable(value="userId") int userId,
@PathVariable(value="topicId") int topicId)
如請(qǐng)求的URL為“控制器URL/users/123/topics/456”,則自動(dòng)將URL中模板變量{userId}和{topicId}綁定到通過(guò)@PathVariable注解的同名參數(shù)上,即入?yún)⒑髐serId=123、topicId=456。
代碼在PathVariableTypeController中。
@RequestParam(參數(shù)綁定到控制器)和@PathVariable(參數(shù)綁定到url模板變量)
spring mvc:練習(xí) @RequestParam和@PathVariable
@RequestParam: 注解將請(qǐng)求參數(shù)綁定到你的控制器方法參數(shù)@PathVariable: 注釋將一個(gè)方法參數(shù)綁定到一個(gè)URI模板變量的值
@RequestParam: 注解將請(qǐng)求參數(shù)綁定到你的控制器方法參數(shù)
@RequestMapping(value="/example/user") public String UserInfo(Model model, @RequestParam(value="name", defaultValue="Guest") String name)
實(shí)例:
package springmvc;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
@Controller
public class RequestParamExampleController {
@RequestMapping(value="/example/user")
public String UserInfo(Model model,
@RequestParam(value="name", defaultValue="Guest") String name)
{
model.addAttribute("name", name);
if("admin".equals(name))
{
model.addAttribute("email", "admin@google.com");
}else {
model.addAttribute("email", "not set");
}
return "example_user";
}
}
@PathVariable: 注釋將一個(gè)方法參數(shù)綁定到一個(gè)URI模板變量的值
@RequestMapping(value="/example/info/{language}/{id}/{name}")
public String userInfo2(Model model,
@PathVariable(value="language") String language,
@PathVariable(value="id") Long id,
@PathVariable(value="name") String name)
實(shí)例:
package springmvc;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.PathVariable;
@Controller
public class RequestParamExampleController {
@RequestMapping(value="/example/person/{name}/{age}")
public String userPerson(Model model,
@PathVariable(value="name") String name,
@PathVariable(value="age") Long age)
{
model.addAttribute("name", name);
model.addAttribute("age", age);
String desc = "";
if(age > 20)
{
desc = "oldman";
}else {
desc = "yongman";
}
model.addAttribute("desc", desc);
return "example_person";
}
}
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
用Java實(shí)現(xiàn)簡(jiǎn)單計(jì)算器功能
這篇文章主要為大家詳細(xì)介紹了用Java實(shí)現(xiàn)簡(jiǎn)單計(jì)算器功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-07-07
IDEA報(bào)錯(cuò):Process terminated的問(wèn)題及解決
這篇文章主要介紹了IDEA報(bào)錯(cuò):Process terminated的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11
ssm項(xiàng)目實(shí)現(xiàn)用戶(hù)登陸持久化(token)
這篇文章主要介紹了ssm項(xiàng)目實(shí)現(xiàn)用戶(hù)登陸持久化(token),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04
Java實(shí)現(xiàn)在線(xiàn)考試系統(tǒng)與設(shè)計(jì)(學(xué)生功能)
這篇文章主要介紹了Java實(shí)現(xiàn)在線(xiàn)考試系統(tǒng)與設(shè)計(jì)(學(xué)生功能),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-02
深入講解基于JDK的動(dòng)態(tài)代理機(jī)制
眾所周知相比于靜態(tài)代理,動(dòng)態(tài)代理避免了開(kāi)發(fā)人員編寫(xiě)各個(gè)繁鎖的靜態(tài)代理類(lèi),下面這篇文章主要給大家介紹了關(guān)于基于JDK的動(dòng)態(tài)代理機(jī)制的相關(guān)資料,文中通過(guò)圖文以及示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2018-07-07
IDEA解決@Slf4j中l(wèi)og報(bào)紅問(wèn)題
在IntelliJ IDEA中使用log.info()時(shí),如果出現(xiàn)錯(cuò)誤,通常是因?yàn)槿鄙貺ombok插件,以下是解決方法:打開(kāi)IntelliJ IDEA,進(jìn)入設(shè)置(File > Settings 或者 Ctrl+Alt+S),在Plugins部分點(diǎn)擊Browse repositories,搜索Lombok并安裝,安裝完成后,問(wèn)題通??梢越鉀Q2024-12-12

