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 />標簽,用法如下:

這兩種方法任選其一即可。上面寫傳參是直接傳參,還可以使用模型傳參

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM