1. 程式人生 > >SpringMVC獲取頁面的引數

SpringMVC獲取頁面的引數

Spring接收請求引數:

1,使用HttpServletRequest獲取

Java程式碼  收藏程式碼
  1. @RequestMapping("/login.do")  
  2. public String login(HttpServletRequest request){  
  3.     String name = request.getParameter("name")  
  4.     String pass = request.getParameter("pass")  
  5. }  

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

Java程式碼  收藏程式碼
  1. @RequestMapping("/login.do")  
  2. public String login(HttpServletRequest request,  
  3.                                 String name,  
  4.  @RequestParam("pass")String password) // 表單屬性是pass,用變數password接收  
  5. {  
  6.    syso(name);  
  7.    syso(password)  
  8. }  

3,自動注入Bean屬性

Java程式碼  收藏程式碼
  1. <form action="login.do">  
  2. 使用者名稱:<input name="name"/>  
  3. 密碼:<input name="pass"/>  
  4. <input type="submit" value="登陸">  
  5. </form>  
  6. //封裝的User類  
  7. public class User{  
  8.   private String name;  
  9.   private String pass;  
  10. }  
Java程式碼  收藏程式碼
  1. @RequestMapping("/login.do")  
  2. public String login(User user)  
  3. {  
  4.    syso(user.getName());  
  5.    syso(user.getPass());  
  6. }  

向頁面傳值:

當Controller元件處理後,向jsp頁面傳值,

1,使用HttpServletRequest 和 Session  然後setAttribute(),就和Servlet中一樣

2,使用ModelAndView物件

3,使用ModelMap物件

4,使用@ModelAttribute註解

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

Java程式碼  收藏程式碼
  1. @RequestMapping("/login.do")  
  2. public ModelAndView  login(String name,String pass){  
  3.     User user = userService.login(name,pwd);  
  4.     Map<String,Object> data = new HashMap<String,Object>();  
  5.     data.put("user",user);  
  6.     return new ModelAndView("success",data);  
  7. }  

使用ModelMap引數物件示例:

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

Java程式碼  收藏程式碼
  1. @RequestMapping("/login.do")  
  2. public String login(String name,String pass ,ModelMap model){  
  3.     User user  = userService.login(name,pwd);  
  4.     model.addAttribute("user",user);  
  5.     model.put("name",name);  
  6.     return "success";  
  7. }  

 使用@ModelAttribute示例

在Controller方法的引數部分或Bean屬性方法上使用

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

Java程式碼  收藏程式碼
  1. @RequestMapping("/login.do")  
  2. public String login(@ModelAttribute("user") User user){  
  3.     //TODO  
  4.    return "success";  
  5. }  
  6. @ModelAttribute("name")  
  7. public String getName(){  
  8.     return name;  
  9. }  

Session儲存:

可以利用HttpServletReequest的getSession()方法

Java程式碼  收藏程式碼
  1. @RequestMapping("/login.do")  
  2. public String login(String name,String pwd  
  3.                             ModelMap model,HttpServletRequest request){  
  4.      User user = serService.login(name,pwd);  
  5.      HttpSession session = request.getSession();  
  6.      session.setAttribute("user",user);  
  7.      model.addAttribute("user",user);  
  8.      return "success";  
  9. }  

Spring MVC 預設採用的是轉發來定位檢視,如果要使用重定向,可以如下操作

1,使用RedirectView

2,使用redirect:字首

Java程式碼  收藏程式碼
  1. public ModelAndView login(){  
  2.    RedirectView view = new RedirectView("regirst.do");  
  3.    return new ModelAndView(view);  
  4. }  

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

Java程式碼  收藏程式碼
  1. public String login(){  
  2.     //TODO  
  3.     return "redirect:regirst.do";  

相關推薦

SpringMVC獲取頁面引數的三種方法

關於SpringMVC獲取頁面引數的方法,以下示例 jsp頁面,點選submi提交請求到後臺,後臺需要獲取頁面“使用者名稱”與“密碼”輸入框中的值 <%@ page language="java" contentType="text/html; charset=u

SpringMVC獲取頁面引數

Spring接收請求引數: 1,使用HttpServletRequest獲取 Java程式碼   @RequestMapping("/login.do")   public String

springMVC 獲取請求引數的幾種方式

首先編寫發起請求的jsp頁面user_add.jsp如下: <%@ page language="java" import="java.util.*" contentType="text/h

springMVC獲取屬性引數及攔截器的使用

一.儲存並獲取屬性引數 [email protected] 可以給它配置一個字串陣列,這個陣列對應的是資料模型對應的鍵值對,可以把他儲存到session中 1.2程式碼 package com.hly.ssm.controller; import

使用springmvc頁面獲取資料,然後根據獲得的引數資訊進行修改,如果修改的資料中含有不是基本資料型別的引數。比如傳的引數中有Date型別的資料時,需要我們進行引數型別轉換。

1.1 需求   在商品修改頁面可以修改商品的生產日期,並且根據業務需求自定義日期格式。 1.2 需求分析   由於日期資料有很多格式,所以springmvc沒辦法把字串轉換成日期型別。所以需要自定義引數繫結。前端控制器接收到請求後,找到註解形式的處理器介面卡,對RequestMapping標記的方法進

Spring MVC(三)控制器獲取頁面請求引數以及將控制器資料傳遞給頁面和實現重定向的方式

首先做好環境配置 在mvc.xml裡進行配置   1.開啟元件掃描   2.開啟基於mvc的標註   3.配置試圖處理器 1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www

學習SpringMVC——如何獲取請求引數

@RequestParam @PathVariable @QueryParam @CookieValue @ModelAndView @ModelAttribute   一、spring mvc如何匹配請求路徑——“請求路徑哪家強,RequestMapping名遠揚” @R

SpringMVC(三)獲取控制器引數

SpringMVC獲取控制器引數 在無註解下獲取引數 在沒有註解的情況下,SpringMVC也可以獲取引數,且引數允許為空,唯一的要求是引數名稱和HTTP請求的引數名稱保持一致。 package com.lay.mvc.controller; import org.spri

SpringMVC Controller函式引數問題(就是作為方法的引數,以類名小寫開頭可以在JSP頁面中獲得該變數的資料 )

今天在看別人寫的程式時發現了一個特殊的問題,就是在程式碼裡並沒有看到將物件寫入域的程式碼,但在JSP頁面上又能獲得物件的資料。 說明:專案用的是:SpringMVC + Spring + MyBatis 方法名為如下: Page物件就是一個普通的java類如下: 就是這樣但在,函

javaEE Springmvc,RestFul風格的開發,@PathVariable從URL路徑中獲取請求引數

ItemController.java(Controller後端控制器,RestFul風格開發,@PathVariable接收引數): package com.xxx.springmvc.controller; import org.springframework

SpringMVC頁面傳遞引數的4種方式

1、使用HttpServletRequest和 Session  然後setAttribute(),就和Servlet中一樣  request.setAttribute(“user ”,user_data);    2、使用ModelAndView 物件 @RequestMapping("/login.do"

Spring Boot獲取前端頁面引數的幾種方式總結

  Spring Boot的一個好處就是通過註解可以輕鬆獲取前端頁面的引數,之後可以將引數經過一系列處理傳送到後臺資料庫,前段時間正好用到,但是忘得差不多了,獲得的方式有很多種,這種東西不寫下來一段時間不用就忘得差不多了,感覺記性越來越差了呢,這裡稍微總結一下,

不同的contentType下SpringMVC如何獲取引數

版本:Java + Springboot2.0 快速測試環境:github地址 1. Jquery版本Ajax請求的格式 程式碼如下: $.ajax({ type: "get" , url: "/test"

SpringMVC頁面傳遞引數的5種方式

閒來無事,看到百度文庫有一個總結springmvc的傳參的總結,看了後,感覺我也要記錄一下第一種:使用HttpServletRequest和Session 然後setAttribute()public String index(HttpServletRequest reque

jsp 頁面獲取request引數方法

頁面部分: <body> This is my JSP page. <br> <%=request.getAttribute("r_name")

使用 aop攔截 springMVC的controller並獲取請求引數及返回結果

有人說使用aop攔截不到springMVC的controller,一般出現此種情況大多是由於配置錯誤造成,不廢話直接進入主題: 1、applicationContext.xml 配置掃描 除@controller外的bean <context:component

使用layer 彈出對話方塊 子父頁面相互引數傳遞 父頁面獲取頁面引數例項

最近使用了layui框架,是一套非常好用的整合吧,沒研究太深,但是用起來很方面。主要是因為要寫一個選擇彈出框,類似使用者登入一樣的彈出框。學習肯定是先看官網,下載原始碼的,地址 http://www.layui.com/doc/  但是官網程式碼的demo不夠詳盡,還是我沒

SpringMVC接收頁面表單引數

一個普通的表單。   表單的程式碼如下: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE h

JS獲取頁面超連結傳來的引數

<script type="text/javascript"> var url = window.location.href; function getUrlParam(url,name){     var pattern = new RegExp("[?&am

傳送DELETE或PUT請求時springmvc獲取引數為NULL

1. 情況描述:使用 $.aiax({}); 傳送delete和put請求時,springmvc獲取到的請求引數一直為null。 2.後臺程式碼如下,可正常接受POST請求引數。 @RequestMapping(value="/Database/{id}",method=