簡單粗暴JavaWeb-第三篇:通過controller實現頁面跳轉

現在實現一個最簡單的登錄頁面:輸入用戶名和密碼後,跳轉到登錄結果頁面,提示登錄結果。


1、編輯用戶名及密碼登錄界面

首先重新編輯index.jsp首頁,使其擁有一個form表單,包含用戶名和密碼,以及提交按鈕,代碼如下:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>
        首頁
    </title>
</head>
<body>
    <form action="login" method="post">
        <input name="userName" type="text" />
        <input name="password" type="password"/>
        <input id="submitButton" type="submit" value="登錄" />
    </form>
</body>
</html>

視圖如下:


這裏form中的action對應controller上的requestMapping,所以要有.html後綴就都要有,否則就都沒有,不然匹配不上。這裏的表單form通過submit按鈕提交後,發起一個url爲login的請求,然後映射到相應的controller。

2、寫一個簡單的跳轉controller

代碼如下:

@RequestMapping(value="login ")
public ModelAndView login(String userName,String password){
    CheckParam checkParam = new CheckParam();
    ModelAndView mav = new ModelAndView();
    mav.setViewName("/html/basic/loginSucess");
    mav.addObject("userName",userName);
    mav.addObject("password",password);
    mav.addObject("loginResult",checkParam.checkLoginParam(userName,password).getErrorMsg());
    return mav;
}
參數對應表單的內容,檢驗過後返回一個新視圖,新視圖jsp中有三個變量,變量名分別爲userName、password和loginResult,通過addObject方法將變量綁定具體值傳到視圖中去。

3、編輯跳轉後的視圖文件

新視圖的代碼比較簡單,如下

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
賬號:${userName}
密碼:${password}
${loginResult}
</body>
</html>


顯示結果如圖

用戶的信息是當做常量存在了類中,後面用數據庫進行實現。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章