겉바속촉

[html] JSTL-parameter 연습하기 본문

IT일기(하반기)/HTML

[html] JSTL-parameter 연습하기

겉바속촉 2020. 6. 24. 15:12
728x90
반응형

이번에는 parameter를 연습해보도록 할게요:)

 

 

 

<예제1>

 

form을 만들어주시구요!!

post방식으로 값을 넘겨줄게요

 

우리가 출력할 때는 형식은 다음과 같아요

${param.name} -----> 우리가 여태 사용했었던 request.getParameter("name")과 동일합니다

 

그리고 <c:if></c:if> 를 사용합니다

구조는 다음과 같아요

 

 

<c:if test="조건"> 

조건이 참을 만족하면

실행되는 부분

</c:if>

 

<%@ 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="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Insert title here</title>
<script src="https://code.jquery.com/jquery-3.5.1.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css">

</head>
<body>
<fmt:requestEncoding value="utf-8"/>
<form action="Ex2_param.jsp" method="post">
이름입력: <input type="text" name="name" size="10"><br>
나이입력: <input type="text" name="age" size="8"><br>
<input type="submit" value="서버전송">
</form>

<hr>
<c:if test="${not empty param.name}">
	<h2>결과출력</h2>
	이름: ${param.name} <br> <!-- ${param.name}으로 출력 -->
	나이: ${param.age }<br>

</c:if>
</body>
</html>

 

 

 

 

이번에는 DTO를 따로 만들어서 값을 저장해볼게요:)

 

 

 

<예제2>

 

 

1. DTO 만들기 ---> 변수 선언하고 set, get 자동생성

package test.code;

public class DataDto {
	
	String name;
	String age;
	String addr;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getAge() {
		return age;
	}
	public void setAge(String age) {
		this.age = age;
	}
	public String getAddr() {
		return addr;
	}
	public void setAddr(String addr) {
		this.addr = addr;
	}
	
	

}

 

2. JSP파일 만들기

 

여기서는 우리가 값을 받아올 때

다음과 같이 적용해줄거에요

 

<jsp:useBean id="dto" class="test.code.DataDto"/> ----> 우리가 여태 사용했었던 DTO 객체생성과 동일

<jsp:setProperty property="*" name="dto"/> ----> 빈 이름이 dto에서 저장되어있는 값들 다 가져오기

<%@ 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="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Insert title here</title>
<script src="https://code.jquery.com/jquery-3.5.1.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css">

</head>
<body>
<fmt:requestEncoding value="utf-8"/>
<form action="Ex3_dto_param.jsp" method="post">
이름입력: <input type="text" name="name" size="10"><br>
나이입력: <input type="text" name="age" size="8"><br>
주소입력: <input type="text" name="addr" size="20"><br>
<input type="submit" value="서버전송">

</form>
<c:if test="${not empty param.name}">
	<jsp:useBean id="dto" class="test.code.DataDto"/>
	<jsp:setProperty property="*" name="dto"/>
	<pre>
	이름:${dto.name}
	나이:${dto.age}
	주소:${dto.addr}
	</pre>

</c:if>
</body>
</html>

 

 

728x90
반응형