@RequestParam 请求参数注解
package springMvc01.MVC.handlers;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
@RequestMapping("/springmvc")
@Controller
public class SpringTest {
private static final String SUSSESS="success";
/**
* @RequestParam 映射请求参数
* 其中value值即为请求参数的参数名
* required 该参数是否必须 默认是true
* defaultValue 请求参数的默认值
* @param un
* @param age
* @return
*/
@RequestMapping("/testRequestParam")
public String testRequestParam(@RequestParam(value="username") String un,
@RequestParam(value="age" ,required=false,defaultValue="0") int age){
System.out.println("testRequestParam,username:"+un+"age:"+age);
return SUSSESS;
}
}
index.jsp
<a href="springmvc/testRequestParam?username=ab&age=11">testRequestParam</a>
@RequestHeader 映射请求头
<a href="springmvc/testRequestHeader">testRequestHeader</a>package springMvc01.MVC.handlers; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestHeader; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; @RequestMapping("/springmvc") @Controller public class SpringTest { private static final String SUSSESS="success"; /** * @RequestHeader 映射请求头 * @param val * @return */ @RequestMapping("/testRequestHeader") public String testRequestHeader(@RequestHeader(value="Accept-Language")String val) { System.out.println("testRequestHeader:"+val); return SUSSESS; } }
<a href="springmvc/testRequestHeader">testRequestHeader</a>
@CookieValue映射cookie值
<a href="springmvc/testCookieValue">Test cookie</a>import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.CookieValue; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestHeader; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; @RequestMapping("/springmvc") @Controller public class SpringTest { private static final String SUSSESS="success"; /** * @CookieValue 映射一个cookie值 属性同@RequestParam属性一样 * @param sessionId * @return */ @RequestMapping("/testCookieValue") public String testCookieValue(@CookieValue("JSESSIONID") String sessionId) { System.out.println("testCookieValue:"+sessionId); return SUSSESS; } }
package springMvc01.MVC.handlers; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.CookieValue; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestHeader; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import entities.User; @RequestMapping("/springmvc") @Controller public class SpringTest { private static final String SUSSESS="success"; /** * springMVC会按照请求参数名 和pojo的属性名进行自动匹配。自动为对象的属性填值 * @param user * @return */ @RequestMapping("/testPojo") public String testPojo(User user) { System.out.println("testPojo"+user); return SUSSESS; } /** * @CookieValue 映射一个cookie值 属性同@RequestParam属性一样 * @param sessionId * @return */ @RequestMapping("/testCookieValue") public String testCookieValue(@CookieValue("JSESSIONID") String sessionId) { System.out.println("testCookieValue:"+sessionId); return SUSSESS; }
}
package springMvc01.MVC.handlers; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.CookieValue; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestHeader; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import entities.User; @RequestMapping("/springmvc") @Controller public class SpringTest { private static final String SUSSESS="success"; /** * springMVC会按照请求参数名 和pojo的属性名进行自动匹配。自动为对象的属性填值 * @param user * @return */ @RequestMapping("/testPojo") public String testPojo(User user) { System.out.println("testPojo"+user); return SUSSESS; }
}
User.java
package entities;package entities; public class User { private String username; private String password; private String email; private int age; private Address address; 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 String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public Address getAddress() { return address; } public void setAddress(Address address) { this.address = address; } @Override public String toString() { return "User [username=" + username + ", password=" + password + ", email=" + email + ", age=" + age + ", address=" + address + "]"; } }
public class Address {
private String province;
private String city;
public String getProvince() {
return province;
}
public void setProvince(String province) {
this.province = province;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
@Override
public String toString() {
return "Address [province=" + province + ", city=" + city
+ ", getProvince()=" + getProvince() + ", getCity()="
+ getCity() + ", getClass()=" + getClass() + ", hashCode()="
+ hashCode() + ", toString()=" + super.toString() + "]";
}
}
<form action="springmvc/testPojo" method="post">
username:<input type="text" name="username"/>
<br>
password:<input type="password" name="password"/>
<br>
email:<input type="text" name="email"/>
<br>
age:<input type="text" name="age"/>
<br>
city:<input type="text" name="address.city"/>
<br>
province:<input type="text" name="address.province"/>
<br>
<input type="submit" value="Submit"/>
</form>