@RequestParam
处理get里携带参数【url...?参数1&参数2】怎么在后台取,因为@PathVariable 不够
如果觉得url允许不带参数而不报错,可以写上【required=false】属性
如果参数为int,可以写上defalutValue="0"即可
package com.yiki.Handle;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
@RequestMapping("/params")
@Controller
public class RequstParams {
private static final String SUCCESS = "success";
@RequestMapping(value = "/testParams")
public String testParams(@RequestParam(value = "name",required=false) String name, @RequestParam(value = "age",required=false) integer age) {
System.out.println("testParams :"+"name= "+name+" age :"+age);
return SUCCESS;
}
}
<a href="params/testParams?name=yiki&age=10">params</a>
/@RequestHeader/@CookieValue/--->自行去了解
POJO
package com.yiki.pojo;
public class User {
private String username;
private Integer psw;
private Integer age;
private Address address;//级联属性
@Override
public String toString() {
return "User [username=" + username + ", psw=" + psw + ", age=" + age + ", address=" + address + "]";
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public Integer getPsw() {
return psw;
}
public void setPsw(Integer psw) {
this.psw = psw;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public Address getAddress() {
return address;
}
public void setAddress(Address address) {
this.address = address;
}
}
package com.yiki.pojo;
public class User {
private String username;
private Integer psw;
private Integer age;
private Address address;//级联属性
@Override
public String toString() {
return "User [username=" + username + ", psw=" + psw + ", age=" + age + ", address=" + address + "]";
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public Integer getPsw() {
return psw;
}
public void setPsw(Integer psw) {
this.psw = psw;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public Address getAddress() {
return address;
}
public void setAddress(Address address) {
this.address = address;
}
}
package com.yiki.Handle;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.yiki.pojo.User;
@RequestMapping("/testPojo")
@Controller
public class TESTPojo {
private static final String SUCCESS = "success";
@RequestMapping("/pojoPost")
public String testPojoPost(User user) {
System.out.println("testpojo"+user);
return SUCCESS;
}
@RequestMapping("/pojoGet")
public String testPojoGet(User user) {
System.out.println("testpojoGet"+user.getUsername());
return SUCCESS;
}
}
<form action="testPojo/pojoPost" method="post">
姓名srting:<input type="text" name="username"><br>
密码int:<input type="password" name="psw"><br>
年龄int:<input type="text" name="age"><br>
省份string:<input type="text" name="address.province"><br>
城市string:<input type="text" name="address.city"><br>
<input type="submit" value="submit">
</form><br>
<a href="testPojo/pojoGet?username=yiki">pojoGet</a>
ServletAPI
package com.yiki.Handle;
import java.io.IOException;
import java.io.Writer;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@RequestMapping("/springServlet")
@Controller
public class ServletAPI {
private static final String SUCCESS = "success";
@RequestMapping("/servletAPI")
public String servletAPI(HttpServletRequest req, HttpServletResponse resp) {
System.out.println("servletAPI" + req + resp);
return SUCCESS;
}
@RequestMapping("/servletWrite")
public void servletWrite(HttpServletRequest req, HttpServletResponse resp, Writer out) throws IOException {
System.out.println("servletWrite" + req + resp);
out.write("HelloWorld");
}
}
<a href="springServlet/servletAPI">servletAPI</a>
<a href="springServlet/servletWrite">servletWrite</a>