1. 程式人生 > >SpringMVC之接收請求引數和頁面傳參

SpringMVC之接收請求引數和頁面傳參

1.Spring接收請求引數

1>.使用HttpServletRequest獲取

@RequestMapping("/login.do")  
public String login(HttpServletRequest request){  
    String name = request.getParameter("name")  
    String pass = request.getParameter("pass")  
}

2>.Spring會自動將表單引數注入到方法引數,和表單的name屬性保持一致。

@RequestMapping("/login.do")  
public String login(HttpServletRequest request, String name, @RequestParam("pass")String password) // 表單屬性是pass,用變數password接收  
{  
   syso(name);  
   syso(password)  
}

3>.自動注入Bean屬性

html程式碼

<form action="login.do">  
使用者名稱:<input name="name"/>  
密碼:<input name="pass"/>  
<input type="submit" value="登陸">  
</form>

封裝的User類

public class User{  
  private String name;  
  private String pass;  
}

控制器

@RequestMapping("/login.do")  
public String login(User user)  
{  
   syso(user.getName());  
   syso(user.getPass());  
}

2.向頁面傳值

當Controller元件處理後,向頁面傳值,
1,使用HttpServletRequest 和 Session 然後setAttribute(),就和Servlet中一樣
2,使用ModelAndView物件
3,使用ModelMap物件
4,使用@ModelAttribute註解

Model資料會利用HttpServletRequest的Attribute傳值到success.jsp中

@RequestMapping("/login.do")  
public ModelAndView  login(String name,String pass){  
    User user = userService.login(name,pwd);  
    Map<String,Object> data = new HashMap<String,Object>();  
    data.put("user",user);  
    return new ModelAndView("success",data);  
}

使用ModelMap引數物件示例:
ModelMap資料會利用HttpServletRequest的Attribute傳值到success.jsp中

@RequestMapping("/login.do")  
public String login(String name,String pass ,ModelMap model){  
    User user  = userService.login(name,pwd);  
    model.addAttribute("user",user);  
    model.put("name",name);  
    return "success";  
}

使用@ModelAttribute示例
在Controller方法的引數部分或Bean屬性方法上使用
@ModelAttribute資料會利用HttpServletRequest的Attribute傳值到success.jsp中

@RequestMapping("/login.do")  
public String login(@ModelAttribute("user") User user){  
    //TODO  
   return "success";  
}  
   
@ModelAttribute("name")  
public String getName(){  
    return name;  
}

Session儲存:
可以利用HttpServletReequest的getSession()方法

@RequestMapping("/login.do")  
public String login(String name,String pwd, ModelMap model, HttpServletRequest request){  
     User user = serService.login(name,pwd);  
     HttpSession session = request.getSession();  
     session.setAttribute("user",user);  
     model.addAttribute("user",user);  
     return "success";  
}

Spring MVC 預設採用的是轉發來定位檢視,如果要使用重定向,可以如下操作
1,使用RedirectView
2,使用redirect:字首

public ModelAndView login(){  
   RedirectView view = new RedirectView("regirst.do");  
   return new ModelAndView(view);  
}

或者用如下方法,工作中常用的方法

public String login(){  
    //TODO  
    return "redirect:regirst.do";  
}

相關推薦

SpringMVC接收請求引數頁面

1.Spring接收請求引數 1>.使用HttpServletRequest獲取 @RequestMapping("/login.do") public String login(HttpServletRequest request){ String name = request.g

SpringMVC——接收請求引數頁面

原文地址:http://blog.csdn.net/z69183787/article/details/41653875點選開啟連結 Spring接收請求引數: 1,使用HttpServletRequest獲取 Java程式碼   @RequestMapp

java Restful框架(二):jersey請求對映頁面

jersey的webservice開發基本上都是使用註解,接下來學習常用註解. 一.根資源類 [email protected]註解 @Path("/hello") public class HelloWorldController { @G

SpringMVC-3 對映請求引數請求

  Spring MVC通過分析控制器處理方法的簽名,將 HTTP請求資訊繫結到處理方法的相應人蔘中。除@PathVariable註解外,SpringMVC還可使用@RequestParam、@Requ

SpringMVCGET請求引數中文亂碼

只怪自己專案做太少,遇到這些問題糾結太久,浪費時間太多. 在此記錄, WEB.XML檔案中的編碼過濾器設定是針對POST請求的,tomacat對GET和POST請求處理方式是不同的,要處理針對GET請求的編碼問題,則需要改tomcat,conf目錄下的server.x

Springmvc controller接收請求引數型別

轉載地址:http://18810098265.iteye.com/blog/2380269 第一種情況:資料是基本型別或者String1, 直接用表單提交,引數名稱相同即可; Controller引數定義為陣列型別即可.不要定義為List<String> 

vue-router queryparams(接收引數)的區別

版權宣告: https://blog.csdn.net/youth_lx/article/details/79780938   <div class="markdown_views"> <!-- flowchart 箭頭圖示 勿刪 --> <svg xmlns="h

springmvc中@requestbody註解接收請求引數

一、POST請求的四種常用方式   1、application/x-www-form-urlencoded     瀏覽器原生的表單,值為urlencoded之後的  key1=value1&key2=value2......   2、multipart/form-data     

vue-router queryparams(接收引數)$router $route的區別

今天做專案時踩到了vue-router傳參的坑(query和params),所以決定總結一下二者的區別。 直接總結乾貨!!! 1.query方式傳參和接收引數 傳參: this.$router.push({ path:'/xxx' query:{ i

vue-router中queryparams(接收引數)以及$router、$route的區別

  query傳參: this.$router.push({ path:'/...' query:{ id:id } }) 接收引數:this.$route.query.id params傳值: 傳參: this.$router.push({ name:'...' params:{ id:id

vue-router queryparams(接收引數)

query方式傳參和接收引數 // 傳參: this.$router.push({//程式設計式導航 path:'/xxx', query:{ id:id } })

vue-router queryparams(接收引數),$router、$route的區別

連結:https://www.cnblogs.com/zhangruiqi/p/9412539.html 1.query方式傳參和接收引數 傳參: this.$router.push({ path:'/xxx' query:{ id:id

Struts2action接收請求引數

1. 採用基本型別接受請求引數(get/post) action: public class GetparamAction extends ActionSupport {private int age;private String name;public String ge

HttpURLConnection POST請求傳送引數檔案

package com.face; import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.File; import java.io.FileInputStream; im

web--8.restful-4.請求引數springmvc接受

參看部落格:https://blog.csdn.net/chenxiaochan/article/details/73716617 https://blog.csdn.net/chenxiaochan/article/details/52988323 1      請求

swift詳解二十二-----------UINavigationController的基本用法頁面值幾種方式

UINavigationController的基本用法和頁面傳值幾種方式 本文介紹UINavigationController基本用法,因為涉及多頁面順便介紹頁面傳值 1、手寫程式碼建立UINavigationController 手寫方式建立很簡

Spring MVC請求引數路徑變數

請求引數和路徑引數都可以用於傳送值給伺服器。二者都是URL的一部分。 一、請求引數   請求引數採用key = value形式,並用“&”分隔。例如下面的URL帶有名為name和pwd的請求引數。   localhost:9090/showU

EL表示式request.getParameter()接收請求引數

<%@ page contentType="text/html" pageEncoding="gbk"%> <html><head><title><

jsp學習——關於請求轉發重定向的形象理解

本質 url 博文 客戶端 style 讓我 esp 方法 rect 1.重定向:是屬於客戶端行為,實現方法:response.sendRedirect() 從本質上講等同於兩次請求,前一次的請求對象不會保留,在瀏覽器上的直觀表現是——地址欄的URL地址會改變。 2.請求轉

Springmvc接受請求數二

沖突 style pwd 全部 兩種方法 CA require param 處理 Springmvc之接受請求參數 準備工作 新建一個表單提交 請求地址: http://localhost:8080/ProjectName/user/login.do <fo