springmvc獲取參數(shù)的方式
1、ServletAPI獲取參數(shù)(原生態(tài))
將HttpServletRequest作為控制器方法的形參,此時HttpServletRequest類型的參數(shù)表示封裝當(dāng)前請求的請求報文
<a th:href="@{/servltecontrollerapl(username='實(shí)參',password=20240106)}">前端請求后端通過ServleyAPI的方式進(jìn)行取值</a>
@RequestMapping("/servltecontrollerapl")
//方法中定義形參
public String ServletControllerApl(HttpServletRequest request) {
//根據(jù)頁面?zhèn)魅氲膮?shù)后臺進(jìn)行取值(前端頁面?zhèn)魅氲膮?shù)都全部后端進(jìn)行取值)
String username = request.getParameter("username");
String pas = request.getParameter("password");
System.out.println(username+"\t"+pas);
return "test";//跳轉(zhuǎn)到參數(shù)渲染的頁面
}
2、通過控制器的形參取值
只需要在控制器方法的形參位置,設(shè)置一個形參,形參的名字和請求參數(shù)的名字一致即可
<a th:href="@{/servltecontrollerapl(username='實(shí)參',password=20240106)}">前端請求后端通過控制器的形參進(jìn)行取值</a>
后端根據(jù)前端頁面?zhèn)魅氲膶?shí)際參數(shù)進(jìn)行一一取值(參數(shù)的少的情況下建議使用)
//通過控制器的形參來獲取參數(shù)(根據(jù)前端傳入的參數(shù)后臺進(jìn)行一一取值)
public String paramrter(String username, String password) {
System.out.println(username + "\t" + password);
return "test";//跳轉(zhuǎn)到參數(shù)渲染的頁面
}
3、 @RequestParam
<a th:href="@{/servltecontrollerapl(user_name='實(shí)參',password=20240106)}">前端請求后端通過 @RequestParam進(jìn)行取值</a>
public String parpm(
@RequestParam(value = "user_name",required = true,defaultValue = "true") String username,//@RequestParam注解中value:指定為形參賦值的請求參數(shù)的參數(shù)名
String password
) {
System.out.println(username + "\t" + password);
return "test";//跳轉(zhuǎn)到參數(shù)渲染的頁面
}
@RequestParam是將請求參數(shù)和控制器方法的形參創(chuàng)建映射關(guān)系
@RequestParam注解一共有三個屬性:
value:指定為形參賦值的請求參數(shù)的參數(shù)名
required:設(shè)置是否必須傳輸此請求參數(shù),默認(rèn)值為true
若設(shè)置為true時,則當(dāng)前請求必須傳輸value所指定的請求參數(shù),若沒有傳輸該請求參數(shù),且沒有設(shè)置defaultValue屬性,則頁面報錯400:Required String parameter ‘xxx’ is not present;若設(shè)置為false,則當(dāng)前請求不是必須傳輸value所指定的請求參數(shù),若沒有傳輸,則注解所標(biāo)識的形參的值為null
defaultValue:不管required屬性值為true或false,當(dāng)value所指定的請求參數(shù)沒有傳輸或傳輸?shù)闹禐?"時,則使用默認(rèn)值為形參賦值
4、通過POJO獲取請求參數(shù)
實(shí)體類:
package com.atzd.controller.bean;
public class User {
private Integer id;
private String username;
private String password;
private Integer age;
private String sex;
private String email;
public User() {
}
public User(Integer id, String username, String password, Integer age, String sex, String email) {
this.id = id;
this.username = username;
this.password = password;
this.age = age;
this.sex = sex;
this.email = email;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", username='" + username + '\'' +
", password='" + password + '\'' +
", age=" + age +
", sex='" + sex + '\'' +
", email='" + email + '\'' +
'}';
}
}
表單:文章來源:http://www.zghlxwxcb.cn/news/detail-782294.html
<form th:action="@{/testpojo}" method="post">
用戶名:<input type="text" name="username"><br>
密碼:<input type="password" name="password"><br>
性別:<input type="radio" name="sex" value="男">男<input type="radio"
name="sex" value="女">女<br>
年齡:<input type="text" name="age"><br>
郵箱:<input type="text" name="email"><br>
<input type="submit">
</form>
后端取值:文章來源地址http://www.zghlxwxcb.cn/news/detail-782294.html
("/testpojo")
public String testpojo(User user){
//根據(jù)實(shí)體類獲取表單提交的參數(shù)
System.out.println(user);
return "testpojo";
}
到了這里,關(guān)于springMVC獲取請求參數(shù)的方式的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!