일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- REST
- Spring
- CRUD
- SpringFramework
- 비동기
- Boot
- 대댓글
- 우리마
- Controller
- egov
- modal #alert #sweetalert #sweetAlert #모달
- DAO
- 외부접속
- paginationInfo
- deferred
- Today
- Total
우리마의 웹 개발
[Spring]JSP에서 요청 파라미터를 Controller에서 처리하는 방법(@RequestParam) 본문
앞선 글에서 가장 전통적인 방식으로 JSP에서 요청한 파라미터를 Java에서
getParameter() 메서드를 이용해서 처리하는 방법을 소개하였다.
두 번째 방법으로 @RequestParam 어노테이션을 이용해서 java코드가 조금 더 간결해지는 방법을 소개하겠다.
JSP( /study/join.jsp)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h2>요청 파라미터값 테스트!!</h2>
<form action="<c:url value='/study/register.do' />" method="post">
<fieldset>
<legend>회원가입 양식</legend>
<p>
- ID: <input type="text" name="userId" size="10"><br>
- PW: <input type="password" name="userPw" size="10"><br>
- NAME: <input type="text" name="userName" size="10"><br>
- Age : <input type="number" name="userAge" size="10"><br>
<input type="submit" value="회원가입">
</p>
</fieldset>
</form>
</body>
</html>
|
cs |
JSP파일은 지난번과 크게 달라진게 없다. 단지 Controller에서 @RequestParam 어노테이션을 사용하면 자동 형 변환을 해준다는 것을 보여주기 위해 number type의 나이 값을 추가해서 받는다. 회원가입 버튼을 누르면 404페이지가 뜰것이다 register페이지를 작성하지 않았으니까...
하지만 Eclipse콘솔을 확인 해야한다.
JAVA(StudyController.java)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
@RequestMapping("/study/join.do")
public String test(){
return "/study/join";
}
@RequestMapping(value="/study/register.do")
public void paramTest(@RequestParam("userId") String id,
@RequestParam("userPw") String pw,
@RequestParam("userName") String name,
@RequestParam("userAge") int age){
try {
System.out.println("/study/join 요청: GET");
System.out.println("ID: " + id);
System.out.println("PW: " + pw);
System.out.println("Name: " + name);
System.out.println("Age: " + age);
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
|
cs |
1~4Line : join.jsp를 열기 위한 메서드이다. /study/join.do 요청이 들어왔을 때 /study/join.jsp 페이 지명을 view단으로 반환한다.
6 Line : paramTest의 매개변수로 @RequestParam 어노테이션을 사용하고 있다.
앞선 글에서 HttpServletRequest객체를 받았는데 하는 역할은 거의 똑같다.
HttpServletRequest객체는 getParameter() 메서드를 사용해서 값을 받고 출력하지만
@RequestParam 어노테이션은 그 과정을 포함하고 있다 그러니까 괄호 안에 input 태그의 name속성 값을 넣어주고 변수명을 지정해주면 그 변수에 input 태그로 받은 데이터가 저장이 된다. 나이로 받은 값은 number type이므로 int형으로 받아 콘솔에 출력해보자
jsp에서 넘긴 데이터가 잘 받아진다ㅎㅎ.
근데 요청이 get이 아니라 post다 잘못 적은거..ㅋㅋ
하지만 이방법 또한 받는 데이터의 수만큼 매개변수에 어노테이션을 적어줘야 되니까 getParameter 메서드랑 별반 다를 게 없어 보인다..
다음 글에서 진짜 SpringFramework에서 사용하는 파라미터의 처리방법에 대해서 소개하겠다.
'WEB > Spring' 카테고리의 다른 글
[Spring]페이징 처리 EgovFramework Paginationinfo 사용하기( 설정) (3) | 2020.07.21 |
---|---|
[Spring]학생들의 성적에 대한 CRUD기능 구현(데이터베이스 없이 DAO의 List로 DB대용) (2) | 2020.02.17 |
[Spring]JSP에서 요청 파라미터를 Controller에서 처리하는 방법(커맨드 객체 사용) (0) | 2020.02.05 |
[Spring]JSP에서 요청 파라미터를 Controller에서 처리하는 방법(HttpServletRequest 객체) (0) | 2020.02.04 |
[Spring]체크된 게시물 삭제 처리 로직 (1) | 2020.01.17 |