资讯专栏INFORMATION COLUMN

一个基础的springmvc的页面访问及提交数据的小知识

lifesimple / 1963人阅读

摘要:今天跟小伙伴们分享一个小知识点,是使用框架提供的表单来提交数据到后台并将结果显示在结果页面。我尽可能的用简单的表述和简洁的代码表达,这对我也是一种锻炼。有些关联的小知识点我以后会慢慢写。需求是添加鸭子,我们添加一只经典小黄鸭。

今天跟小伙伴们分享一个小知识点,是使用springmvc框架提供的表单来提交数据到后台并将结果显示在结果页面。我尽可能的用简单的表述和简洁的代码表达,这对我也是一种锻炼。有些关联的小知识点我以后会慢慢写。如果新小白还是看不明白,也欢迎提问,我尽可能的解释明白。需求是添加鸭子,我们添加一只经典小黄鸭。

大致的过程是下面这幅图:

访问的表单页面:affffduck.jsp

<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%--
  Created by IntelliJ IDEA.
  User: deer
  Date: 15/7/4
  Time: 下午4:03
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    


    <%--
    这是springmvc表单的写法,上面会引入它的标签库
    action与method与html的表单一样
    modelAttribute="duck"用于接收Controller传过来的默认值就是addGood()方法里面model.addAttribute("duck", duck);
    这里会将传过来的duck当成默认值显示出来

    点击提交按钮后会将值传给Controller的public String result(ModelMap model, @RequestParam String name, @RequestParam String color)方法
    --%>
    
        名字:
颜色:

Duck实例类:Duck.java

package com.springapp.entity;

public class Duck {
    //小鸭子的名称
    private String name;
    //小鸭子的颜色
    private String color;
    //get与set方法
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getColor() {
        return color;
    }
    public void setColor(String color) {
        this.color = color;
    }
}

HelloController控制层代码:HelloController.java

package com.springapp.mvc;
import com.springapp.entity.Duck;
import org.springframework.stereotype.Controller;
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("/")
public class HelloController {
    //affffduck.jsp页面的表单将将数据提交给result,那么就这这个方法来接收了
    //method = RequestMethod.POST对应的是affffduck.jsp页面表单的提交方式
    //@RequestParam String name, @RequestParam String color是接收form表单传递过来的参数
    @RequestMapping(value = "/result", method = RequestMethod.POST)
    public String result(ModelMap model, @RequestParam String name, @RequestParam String color){
        //同样放进model中,用于在result.jsp页面获取并显示
        model.addAttribute("name", name);
        model.addAttribute("color", color);
        //返回到result.jsp页面
        return "result";
    }

    //下面的注解参数:
    //value = "/affffduck",是说浏览器的访问地址这里就是http://localhost:8080/affffduck
    //method = RequestMethod.GET是说接收jsp页面访问的方式,通过浏览器直接访问那就是get方式了
    @RequestMapping(value = "/affffduck", method = RequestMethod.GET)
    public String addDuck(ModelMap model){
        //实例化一个Duck,这里没有使用spring依赖注入
        Duck duck = new Duck();
        //设置值
        duck.setName("经典小黄鸭");
        duck.setColor("黄色");
        //将duck放进model中用于在jsp页面获取用
        model.addAttribute("duck", duck);
        //返回affffduck.jsp页面
        return "affffduck";
    }
}

最后呈现结果的页面:result.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    


    <%--
    这里使用springmvc表达式将result方法传过来的值显示出来
    --%>
    名字:${name}
颜色:${color}

最后为了避免页面出现中文乱码,在web.xml中添加编码配置,建议加在上面


    CharacterEncodingFilter
    org.springframework.web.filter.CharacterEncodingFilter
    
        encoding
        utf-8
    


    CharacterEncodingFilter
    /*

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/64371.html

相关文章

  • 移动商城项目【总结】

    摘要:有必要建一个资源服务器存放静态资源。一些用户级别的数据轻量可以考虑存储在中。存储的是值,可以通过来对和对象之间的转换如果我们的数据是在后台传过去或者转换而成的,在前台上并没有做什么改变的话。 移动商城项目总结 移动商城项目是我第二个做得比较大的项目,该项目系统来源于传智Java168期,十天的视频课程(想要视频的同学关注我的公众号就可以直接获取了) 通过这次的项目又再次开阔了我的视野,...

    BlackHole1 评论0 收藏0
  • 【备战春招/秋招系列】美团面经总结基础篇 (附详解答案)

    摘要:不同于个人面经,这份面经具有普适性。我在前面的文章中也提到了应该怎么做自我介绍与项目介绍,详情可以查看这篇文章备战春招秋招系列初出茅庐的程序员该如何准备面试。是建立连接时使用的握手信号。它表示确认发来的数据已经接受无误。 showImg(https://segmentfault.com/img/remote/1460000016972448?w=921&h=532); 该文已加入开源文...

    Leck1e 评论0 收藏0
  • 后台开发常问面试题集锦(问题搬运工,附链接)

    摘要:基础问题的的性能及原理之区别详解备忘笔记深入理解流水线抽象关键字修饰符知识点总结必看篇中的关键字解析回调机制解读抽象类与三大特征时间和时间戳的相互转换为什么要使用内部类对象锁和类锁的区别,,优缺点及比较提高篇八详解内部类单例模式和 Java基础问题 String的+的性能及原理 java之yield(),sleep(),wait()区别详解-备忘笔记 深入理解Java Stream流水...

    spacewander 评论0 收藏0

发表评论

0条评论

lifesimple

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<