zoukankan      html  css  js  c++  java
  • springmvc参数传递一:形参传参(常用)

    再上一篇写了springmvc的基本配置,springmvc的配置文件还可以使用简化配置,

    在之前我们要在springmvc的配置文件中配置处理器映射器和控制器适配器,其实这两个可以使用简化配置

    使用简化配置后就可以不用再配置控制器适配器等了。

    下面写springmvc的传参:

    首先创建一个登录的页面,页面内有表单,输入用户名密码后登录提交后台,

    <%--
      Created by IntelliJ IDEA.
      User: Administrator
      Date: 2019/6/25
      Time: 20:21
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>Title</title>
    </head>
    <body>
    <form action="user/login.do">
        用户名:<input type="text" name="username">
        密码:<input type="password" name="password">
        <input type="submit">
    </form>
    </body>
    </html>
    login.jsp

    然后创建控制器类:

    package com.zs.controller;
    
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    
    @Controller
    @RequestMapping("/user")
    public class UserController {
        /**
         * 通过映射地址找到对应的方法,method为请求方式
         * @param username
         * @param password
         * @return
         */
        @RequestMapping(value = "/login",method = {RequestMethod.GET,RequestMethod.POST})
        public String login(String username, String password) {
            if (username.equals("zhangsan") && password.equals("123456")) {
                return "index";
            }
            /*在springmvc视图解析器中配置了返回的前缀以及后缀,但是在这里,我们将login放在web文件夹下,index放在/WEB-INF/views/
            * 文件夹下,当登陆成功时,return "index"会通过视图解析器添加前缀后缀,当我们返回的页面不在/WEB-INF/文件夹下时
            * 就需要使用 forward:来重新写地址,就不经过视图解析器了,
            * forward:请求转发
            * redirect:重定向*/
            return "forward:/login.jsp";
        }
    }
    UserController

    然后运行测试,输入正确的信息登录成功,输入错误的信息,登陆失败

    这里出现一个问题,就是当我们输入错误的信息后请求转发给了login.jsp,这时我们继续在此页面输入正确的信息,会发现地址栏错误;打开F12网络查看,发送的请求是这样的:

    注意有两个user,这是因为我们在user这个地址下又发送了一次user/login.do,为了解决这个问题,可以在jsp页面配置绝对地址

     这里要注意,之前忘记导两个包

    没有导包的话是不能在jsp页面设置地址的,导入包后在jsp页面添加下面代码:

    然后在运行,测试,登陆失败后重新输入值,可以正确调转页面。

    还可以使用jstl标签库的<c:url />标签,用法如下:

    这两种方法任选其一即可。上面写传参是直接传参,还可以使用模型传参

  • 相关阅读:
    C++中typename关键字的用法
    多项式系数的值
    记录几个经典的字符串hash算法
    linux timerfd系列函数总结
    linux 获取网络状态信息(Rtnetlink)
    linux netlink通信机制
    linux进程、线程与cpu的亲和性(affinity)
    C语言检查ip是否合法
    使用libpcap获取http报文
    使用libpcap过滤arp
  • 原文地址:https://www.cnblogs.com/Zs-book1/p/11086678.html
Copyright © 2011-2022 走看看