result方法:参数里提供name和age
package SpringmvcDemo;
import org.springframework.stereotype.Controller;
import org.springframework.stereotype.Repository;
import org.springframework.ui.Model;
import org.springframework.ui.ModelMap;
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;
@Controller
@RequestMapping("/hello")//用在类上的RequestMapping,表示主路径,该类下的所有方法的路径都默认从"/hello"开始
public class HelloWorld {
@RequestMapping("/world")//用在方法上的RequestMapping
public String hello(Model model){//Model是将方法里获取的内容传输给.jsp文件
model.addAttribute("message","helloworld!!");
return"hi";//hi/WEB-INF下的.jsp文件
}
@RequestMapping("/world/sss")
public String sss(Model model){
model.addAttribute("message2","justtest");
return"hiss";
}
@RequestMapping(value = "/world/{name}/{age}",method = RequestMethod.GET)
public String getName(ModelMap modelMap, @PathVariable("name") String name, @PathVariable("age") int age){
modelMap.put("name",name);
modelMap.put("age",age);
return "name";
}
@RequestMapping(value = "/result", method = RequestMethod.GET)
public String result(ModelMap modelMap,@RequestParam String name, @RequestParam int age){
modelMap.addAttribute("name",name);
modelMap.addAttribute("age",age);
return "result";
}
对应的.jsp文件
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>springmvcdemo</title>
</head>
<body>
<%--${}是个获取变量的符号,“message”对应的是HelloWorld里hello方法里的变量名,
其值为“helloworld!!”,下面的话就是能输出到网页的--%>
<h1>名字:${name}</h1>
<h1>年龄:${age}</h1>
</body>
</html>
浏览器请求方式和结果
路径后面加问号,问号后面使用键值对,多个键值对用&连接

添加表单
增加addUser方法
package SpringmvcDemo;
import org.springframework.stereotype.Controller;
import org.springframework.stereotype.Repository;
import org.springframework.ui.Model;
import org.springframework.ui.ModelMap;
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;
@Controller
@RequestMapping("/hello")//用在类上的RequestMapping,表示主路径,该类下的所有方法的路径都默认从"/hello"开始
public class HelloWorld {
@RequestMapping("/world")//用在方法上的RequestMapping
public String hello(Model model){//Model是将方法里获取的内容传输给.jsp文件
model.addAttribute("message","helloworld!!");
return"hi";//hi/WEB-INF下的.jsp文件
}
@RequestMapping("/world/sss")
public String sss(Model model){
model.addAttribute("message2","justtest");
return"hiss";
}
@RequestMapping(value = "/world/{name}/{age}",method = RequestMethod.GET)
public String getName(ModelMap modelMap, @PathVariable("name") String name, @PathVariable("age") int age){
modelMap.put("name",name);
modelMap.put("age",age);
return "name";
}
@RequestMapping(value = "/result", method = RequestMethod.GET)
public String result(ModelMap modelMap,@RequestParam String name, @RequestParam int age){
modelMap.addAttribute("name",name);
modelMap.addAttribute("age",age);
return "result";
}
@RequestMapping(value = "/adduser",method = RequestMethod.GET)
public String addUser(ModelMap modelMap){
return "add_user";
}
}
对应.jsp文件
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>添加用户</title>
</head>
<body>
<%--action="result"表示使用result方法,method=“get”表示,需要与result方法里使用的请求方式一致--%>
<form action="result" method="get">
名字:<input type="text" name="name"> <br>
年龄:<input type="number" name="age"> <br>
<input type="submit">
</form>
</body>
</html>
结果


通过SpringMVC提供的表单设置默认值
新增一个User类
package SpringmvcDemo;
public class User {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
HelloWorld类里增加两个方法,requestpost方法和addUser2方法
package SpringmvcDemo;
import org.springframework.stereotype.Controller;
import org.springframework.stereotype.Repository;
import org.springframework.ui.Model;
import org.springframework.ui.ModelMap;
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;
@Controller
@RequestMapping("/hello")//用在类上的RequestMapping,表示主路径,该类下的所有方法的路径都默认从"/hello"开始
public class HelloWorld {
@RequestMapping("/world")//用在方法上的RequestMapping
public String hello(Model model){//Model是将方法里获取的内容传输给.jsp文件
model.addAttribute("message","helloworld!!");
return"hi";//hi/WEB-INF下的.jsp文件
}
@RequestMapping("/world/sss")
public String sss(Model model){
model.addAttribute("message2","justtest");
return"hiss";
}
@RequestMapping(value = "/world/{name}/{age}",method = RequestMethod.GET)
public String getName(ModelMap modelMap, @PathVariable("name") String name, @PathVariable("age") int age){
modelMap.put("name",name);
modelMap.put("age",age);
return "name";
}
@RequestMapping(value = "/result", method = RequestMethod.GET)
public String result(ModelMap modelMap,@RequestParam String name, @RequestParam int age){
modelMap.addAttribute("name",name);
modelMap.addAttribute("age",age);
return "result";
}
@RequestMapping(value = "/adduser",method = RequestMethod.GET)
public String addUser(ModelMap modelMap){
return "add_user";
}
@RequestMapping(value = "/resultpost",method=RequestMethod.POST)
public String resultpost(ModelMap modelMap,@RequestParam String name,@RequestParam int age){
modelMap.addAttribute("name",name);
modelMap.addAttribute("age",age);
return "resultpost";
}
@RequestMapping(value="/addUser2",method = RequestMethod.GET)
public String addUser2(ModelMap modelMap){
User u = new User();
u.setName("hi");
modelMap.addAttribute("user",u);
return "adduser_springmvc";
}
}
对应的.jsp文件
requestpost.jsp
<%--
Created by IntelliJ IDEA.
User: 15435
Date: 2019/1/14
Time: 11:09
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>通过post传递参数</title>
</head>
<body>
<h1>名字:${name}</h1>
<h1>年龄:${age}</h1>
</body>
</html>
adduser_springmvc.jsp文件
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%--
Created by IntelliJ IDEA.
User: 15435
Date: 2019/1/14
Time: 11:02
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>通过springmvc提供的表单功能添加</title>
</head>
<body>
<form:form action="resultpost" method="post" modelAttribute="user">
名字:<form:input path="name"/><br>
年龄:<form:input path="age"/><br>
<input type="submit">
</form:form>
</body>
</html>
结果


网友评论