<!-- requestParams 注解的使用 -->
<a href="springmvc/useRequestParam?name=test">requestParam 注解</a>
@RequestMapping("/useRequestParam")
public String useRequestParam(@RequestParam("name")String username,
@RequestParam(value="age",required=false)Integer age){System.out.println(username+","+age);return "success";
}
<!-- request body 注解 -->
<form action="springmvc/useRequestBody" method="post">用戶名稱:<input type="text" name="username" ><br/>用戶密碼:<input type="password" name="password" ><br/>用戶年齡:<input type="text" name="age" ><br/><input type="submit" value="保存">
</form>
@RequestMapping("/useRequestBody")
public String useRequestBody(@RequestBody(required=false) String body){System.out.println(body);return "success";
}
/delete/{id}
,這個{id}
就是 url 占位符。<!-- PathVariable 注解 -->
<a href="springmvc/usePathVariable/100">pathVariable 注解</a>
@RequestMapping("/usePathVariable/{uid}")
public String usePathVariable(@PathVariable("uid") Integer id){System.out.println(id);return "success";
}
<!-- RequestHeader 注解 -->
<a href="springmvc/useRequestHeader">獲取請求消息頭</a>
@RequestMapping("/useRequestHeader")
public String useRequestHeader(@RequestHeader(value="Accept-Language",required=false)String requestHeader){System.out.println(requestHeader);return "success";
}
<!-- CookieValue 注解 -->
<a href="springmvc/useCookieValue">綁定 cookie 的值</a>
@RequestMapping("/useCookieValue")
public String useCookieValue(@CookieValue(value="JSESSIONID",required=false)
String cookieValue){System.out.println(cookieValue);return "success";
}
<!-- ModelAttribute 注解的基本使用 -->
<a href="springmvc/testModelAttribute?username=test">測試 modelattribute</a>
/*** 被 ModelAttribute 修飾的方法* @param user*/
@ModelAttribute
public void showModel(User user) {System.out.println("執行了 showModel 方法"+user.getUsername());}
/*** 接收請求的方法* @param user* @return*/
@RequestMapping("/testModelAttribute")
public String testModelAttribute(User user) {System.out.println("執行了控制器的方法"+user.getUsername());return "success";}
運行結果:
執行了 showModel 方法test
執行了控制器的方法test
<!-- 修改用戶信息 -->
<form action="springmvc/updateUser" method="post">用戶名稱:<input type="text" name="username" ><br/>用戶年齡:<input type="text" name="age" ><br/><input type="submit" value="保存">
</form>
/*** 查詢數據庫中用戶信息* @param user*/
@ModelAttribute
public void showModel(String username,Map<String,User> map) {
//模擬去數據庫查詢User user = findUserByName(username);System.out.println("執行了 showModel 方法"+user);map.put("abc",user);}
/*** 模擬修改用戶方法* @param user* @return*/
@RequestMapping("/updateUser")
public String testModelAttribute(@ModelAttribute("abc")User user) {System.out.println("控制器中處理請求的方法:修改用戶:"+user);return "success";}
/*** 模擬去數據庫查詢* @param username* @return*/
private User findUserByName(String username) {User user = new User();user.setUsername(username);user.setAge(19);user.setPassword("123456");return user;}
<!-- 修改用戶信息 -->
<form action="springmvc/updateUser" method="post">用戶名稱:<input type="text" name="username" ><br/>用戶年齡:<input type="text" name="age" ><br/><input type="submit" value="保存">
</form>
/*** 查詢數據庫中用戶信息* @param user*/
@ModelAttribute
public void showModel(String username,Map<String,User> map) {
//模擬去數據庫查詢User user = findUserByName(username);System.out.println("執行了 showModel 方法"+user);map.put("abc",user);}
/*** 模擬修改用戶方法* @param user* @return*/
@RequestMapping("/updateUser")
public String testModelAttribute(@ModelAttribute("abc")User user) {System.out.println("控制器中處理請求的方法:修改用戶:"+user);return "success";}
/*** 模擬去數據庫查詢* @param username* @return*/
private User findUserByName(String username) {User user = new User();user.setUsername(username);user.setAge(19);user.setPassword("123456");return user;}
<!-- SessionAttribute 注解的使用 -->
<a href="springmvc/testPut">存入 SessionAttribute</a>
<hr/>
<a href="springmvc/testGet">取出 SessionAttribute</a>
<hr/>
<a href="springmvc/testClean">清除 SessionAttribute</a>
/*** SessionAttribute 注解的使用*/
@Controller("sessionAttributeController")
@RequestMapping("/springmvc")
@SessionAttributes(value ={"username","password"},types={Integer.class})
public class SessionAttributeController {/*** 把數據存入 SessionAttribute* @param model* @return* Model 是 spring 提供的一個接口,該接口有一個實現類 ExtendedModelMap* 該類繼承了 ModelMap,而 ModelMap 就是 LinkedHashMap 子類*/@RequestMapping("/testPut")public String testPut(Model model){model.addAttribute("username", "泰斯特");model.addAttribute("password","123456");model.addAttribute("age", 31);//跳轉之前將數據保存到 username、password 和 age 中,因為注解@SessionAttribute 中有這幾個參數return "success";}@RequestMapping("/testGet")public String testGet(ModelMap model){System.out.println(model.get("username")+";"+model.get("password")+";"+model.get("age")); return "success";}@RequestMapping("/testClean")public String complete(SessionStatus sessionStatus){sessionStatus.setComplete();return "success";}
}
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态