SpringMVC添加表单

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>

浏览器请求方式和结果
路径后面加问号,问号后面使用键值对,多个键值对用&连接

image.png

添加表单

增加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>

结果

image.png

image.png

通过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>

结果

image.png

image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • JSP总结(经典) day1 JSP 定义: 1)Java Server Page, Java EE 组件,本...
    java日记阅读 3,529评论 0 13
  • SpringMVC学习笔记---- 一、SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导...
    ITsupuerlady阅读 3,163评论 1 34
  • 波·布朗森和阿什利·梅里曼在《输赢心理学》中提到,“被监督不必然会使工作效率提高”,“当我们在做的事要被他人指指点...
    雪泥鸿爪0826阅读 447评论 0 5
  • 一个小女孩在放学路上突然失踪,警察找了一个月后,在一条偏僻的山沟里发现了她的尸体:她的尸体保存完好,但是肚子...
    ZHAOYUXIN阅读 321评论 0 1
  • 秋水 秋水,还是那泓水, 只是淡了日色,浓了翠烟, 如你的双眸, 澄亮、澄亮,没有一丝儿杂念。 不扰绿荷, 才卸芙...
    不语不问阅读 203评论 0 3