Spring Framework를 사용해 본다 (3)

화면 간 값 전달



index.jsp 편집



index.jsp
<!DOCTYPE html>

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

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="f" uri="http://www.springframework.org/tags/form"%>

<html>
 <head>
 <meta charset="utf-8">
 <title>ログイン</title>
 </head>
 <body>
 <f:form modelAttribute="loginForm" action="login" method="post">
 <div>
 ユーザ名:<input type="text" id="loginName" name="loginName">
 </div>
 <div>
 パスワード:<input type="text" id="loginPassword" name="loginPassword">
 </div>
 <div>
 <input type="submit" value="ログイン">
 </div>
 </f:form>

 </body>
</html>

Loginform 만들기



Loginform.java
package com.example.HelloWorld;

public class LoginForm {
    private String loginName;
    private String loginPassword;

    public String getLoginName() {
        return loginName;
    }

    public void setLoginName(String loginName) {
        this.loginName = loginName;
    }

    public String getLoginPassword() {
        return loginPassword;
    }

    public void setLoginPassword(String loginPassword) {
        this.loginPassword = loginPassword;
    }
}

LoginController 편집



LoginController.java
package com.example.HelloWorld;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

@Controller
public class LoginController {
    @RequestMapping(value = "/login", method = RequestMethod.POST)
        public String login(Model model, @ModelAttribute("loginForm") LoginForm loginForm) {
        model.addAttribute("loginName", loginForm.getLoginName());
        return "top";
    }
}

@ModelAttribute (“loginForm”)”가, “index.jsp”안에서 지정한 “modelAttribute”와 매핑 됩니다. 그리고, 그 내용은 「LoginForm」클래스의 동명의 변수에 격납되어 갑니다. 저장된 값을 다음 화면으로 인계하기 위해 ""loginName""값으로 Model에 추가하고 있습니다.

top.jsp 편집



top.jsp
<!DOCTYPE html>

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

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>

<html>
 <head>
 <meta charset="utf-8">
 <title>トップ</title>
 </head>
 <body>
 ようこそ<c:out value="${loginName}" />さん
 </body>
</html>

서버를 시작하면 아래 화면이 표시되고 적절한 loginName을 입력하고 로그인을 누릅니다.


아래 화면이 표시됩니다.


다음 번



입력된 값 확인 를 구현해 갑니다.

좋은 웹페이지 즐겨찾기