91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

springmvc之常用注解和操作傳入參數的示例分析

發布時間:2021-09-09 13:59:42 來源:億速云 閱讀:132 作者:柒染 欄目:開發技術

這篇文章將為大家詳細講解有關springmvc之常用注解和操作傳入參數的示例分析,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

springmvc常用注解,操作傳入參數

@RequestParam

一般用于jsp參數名和后臺方法參數指定,對應

/*
    * value=name 當jsp的參數和方法上的參數對應不上,可以指明
    * required() default true;默認true   有參數則必須傳
    * */
    public String testRequestParam(@RequestParam(name = "name",required = false) String username){
        System.out.println("執行了..........");
        System.out.println(username);
        return "success";
    }
<body>
    <a href="anno/testRequestParam" rel="external nofollow"  rel="external nofollow" >testRequestParam</a>
 
</body>

不傳參數,required()設置為false,方法有參數

測試

springmvc之常用注解和操作傳入參數的示例分析

@RequestBody

一般用于獲取post請求的方法體,jsp參數格式為鍵值對,即 key-value

該注解不適應于get請求,一般用于post請求,例如表單提交

如果要用于get請求,則需

@RequestBody(required = false)

否則報錯,此時方法參數為null

@RequestMapping(path = "testRequestBody")
    public String testRequestBody(@RequestBody(required = false) String body){
        System.out.println("執行了..........");
        System.out.println(body);
        return "success";
    }
<body>
    <%--<a href="anno/testRequestParam" rel="external nofollow"  rel="external nofollow" >testRequestParam</a>--%>
 
    <form action="anno/testRequestBody" method="post">
        用戶名:<input type="text" name="username"/><br>
        密碼:<input type="text" name="password"/><br>
        <input type="submit" value="提交"/><br>
    </form>
</body>

測試

springmvc之常用注解和操作傳入參數的示例分析

springmvc之常用注解和操作傳入參數的示例分析

@PathVariable

URL的占位符,restful風格,傳參格式 url地址后/10

restful請求方式: get,post,put 配合注解@RequestMapping設置請求方式

@RequestMapping(path = "testPathVariable/{sid}",method = RequestMethod.GET)
@RequestMapping(path = "testPathVariable/{sid}",method = RequestMethod.GET)
    /*
    * {sid}表示URL的占位符
    * boolean required() default true;默認參數必須傳
    * */
    public String testPathVariable(@PathVariable("sid") String id){
        System.out.println("執行了..........");
        System.out.println(id);
        return "success";
    }
 <a href="anno/testPathVariable/10" rel="external nofollow" >testPathVariable</a>

可以下載postman客戶端,模擬發送不同的請求方式

springmvc之常用注解和操作傳入參數的示例分析

測試:

springmvc之常用注解和操作傳入參數的示例分析

springmvc之常用注解和操作傳入參數的示例分析

@RequestHeader

獲取請求頭的某些屬性值 如瀏覽器類型、版本等 不常用

@RequestMapping(path = "testRequestHeader",method = RequestMethod.GET)
    /*獲取請求頭的某些屬性值 如瀏覽器類型、版本等*/
    public String testRequestHeader(@RequestHeader(value = "Accept") String head){
        System.out.println("執行了..........");
        System.out.println(head);
        return "success";
    }
<a href="anno/testRequestHeader" rel="external nofollow" >testRequestHeader</a>

springmvc之常用注解和操作傳入參數的示例分析

@CookieValue

獲取JSESSIONID的值

@RequestMapping(path = "testCookieValue",method = RequestMethod.GET)
    public String testCookieValue(@CookieValue(value = "JSESSIONID") String JSESSIONID){
        System.out.println("執行了..........");
        System.out.println(JSESSIONID);
        return "success";
    }
  <a href="anno/testCookieValue" rel="external nofollow" >testCookieValue</a><br>

springmvc之常用注解和操作傳入參數的示例分析

@ModelAttribute

用于封裝的數據不全補全數據,或者檢查封裝數據等場景

可作用于方法和參數

修飾方法,方法入參需和控制器方法同參類型,該方法優先于控制器之前執行,且分類有返回值和無返回值

  • 有返回值,則該方法的返回值和控制器的入參相同相同

  • 無返回值,則該方法的參數除了和控制器的入參相同外,還需加一個map類型參數map<string,objct>

例子:

注解修飾的方法有返回值寫法

 @RequestMapping(path = "testModelAttribute")
    public String testModelAttribute(User user){
        System.out.println("執行了..........");
        System.out.println(user);
        return "success";
    }
 
    @ModelAttribute
    //修飾方法,該方法優先于控制器之前執行
    public User showUser(User user){
        /*模擬jsp傳的user封裝數據不全,
        通過名字查詢數據庫對應的信息
        返回全的user對象*/
        user.setBirthday(new Date());
        return user;
    }
<form action="anno/testModelAttribute" method="post">
        用戶名:<input type="text" name="uname"/><br>
        年齡:<input type="text" name="age"/><br>
        <input type="submit" value="提交"/><br>
    </form>

注解修飾的方法無返回值寫法

@RequestMapping(path = "testModelAttribute")
    public String testModelAttribute(@ModelAttribute("key") User user){
        System.out.println("執行了..........");
        System.out.println(user);
        return "success";
    }
 
    @ModelAttribute
    //修飾方法,該方法優先于控制器之前執行
    public void showUser(User user, Map<String,User> userMap){
        /*模擬jsp傳的user封裝數據不全,
        通過名字查詢數據庫對應的信息
        返回全的user對象*/
        user.setBirthday(new Date());
        userMap.put("key",user);
    }

測試

springmvc之常用注解和操作傳入參數的示例分析

springmvc之常用注解和操作傳入參數的示例分析

@SessionAttributes

注解只能作用于類,用于存取數據到session域對象中,實現方法數據共享

實現方式:從request域對象中復制數據到session域中

/**
 * @Date 2019/9/12 2:05
 * by mocar
 */
@Controller
@RequestMapping(path = "/anno")
@SessionAttributes(names = {"msg"})//從request域對象中復制到session域對象
public class annoController {
 
    
    @RequestMapping("/setRequest")//存入
    public String setRequest(ModelMap modelMap){
        System.out.println("setRequest......");
        modelMap.addAttribute("msg","test");//往Request域對象存值
        return "success";
    }
 
    @RequestMapping("/getSession")//獲取
    public String getSession(ModelMap modelMap){
        System.out.println("getSession.......");
        Object msg = modelMap.get("msg");
        System.out.println(msg.toString());
        return "success";
    }
 
    @RequestMapping("/delSession")//刪除
    public String delSession(SessionStatus sessionStatus,ModelMap modelMap){
        System.out.println("delSession.......");
        sessionStatus.setComplete();
        Object msg = modelMap.get("msg");
        System.out.println(msg.toString());
        return "success";
    }
 
}

jsp:

 <br>
    <a href="anno/setRequest" rel="external nofollow" >setRequest</a><br>
    <a href="anno/getSession" rel="external nofollow" >getSession</a><br>
    <a href="anno/delSession" rel="external nofollow" >delSession</a><br>

success.jsp 設置不忽略EL表達式,顯示session域數據

<%--
  Created by IntelliJ IDEA.
  User: Mocar
  Date: 2019/9/11
  Time: 4:34
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<html>
<head>
    <title>快速入門</title>
</head>
<body>
    <h4>success</h4>
 
    ${sessionScope}
 
</body>
</html>

setsession

springmvc之常用注解和操作傳入參數的示例分析

getsession

springmvc之常用注解和操作傳入參數的示例分析

delsession

springmvc之常用注解和操作傳入參數的示例分析

關于springmvc之常用注解和操作傳入參數的示例分析就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

盐边县| 闵行区| 绥滨县| 乌审旗| 秦安县| 报价| 屏东县| 饶河县| 乌拉特后旗| 酉阳| 阿勒泰市| 溧水县| 孟连| 昌都县| 饶河县| 湘西| 象州县| 鹰潭市| 山阴县| 保康县| 河北区| 宁都县| 兴海县| 哈密市| 专栏| 通州区| 靖江市| 梁山县| 民丰县| 龙口市| 扬州市| 缙云县| 泉州市| 探索| 勐海县| 元阳县| 琼中| 孟州市| SHOW| 宜君县| 西华县|