Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- push오류
- selectoptions
- ctrl+/
- addClass
- index %
- Parent
- Math.round()
- 파일질라설치
- 증가값
- slideUp
- Math.floor()
- 파일질라다운로드
- excel중복체크
- is_check
- toFixed()
- 1521
- selectedIndex
- calc.plus
- Math.ceil()
- 파일질라설치오류
- SUB함수
- 소스트리인증실패
- Excel
- 주석이 먹히지 않을 때
- calc.minus
- hide
- removeClass
- Git
- FileZilla설치
- FileZilla다운로드
Archives
- Today
- Total
잡동사니에도 사랑을
[21.10.07] jstlExam / jstlTest(jstl) 본문
728x90
반응형
////////jstlExam.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@page import="java.util.ArrayList"%>
<%@page import="java.util.List"%>
<%@page import="com.jstl.PersonDTO"%>
<%
// 자바 파일의 역할 ---> 페이지를 이동해야 하니 여기서 실행하세요
List<String> list = new ArrayList<String>();
list.add("호랑이");
list.add("사자");
list.add("기린");
list.add("코끼리");
list.add("타조");
list.add("코알라");
list.add("여우");
PersonDTO aa = new PersonDTO("홍길동", 25);
PersonDTO bb = new PersonDTO("네 오", 23);
PersonDTO cc = new PersonDTO("프로도", 30);
List<PersonDTO> list2 = new ArrayList<PersonDTO>();
list2.add(aa);
list2.add(bb);
list2.add(cc);
//데이터
request.setAttribute("list", list);
request.setAttribute("list2", list2);
//페이지 이동
// response.sendRedirect("jstlTest.jsp");
/*
데이터가 가지 않아 아무것도 뜨지 않는다
왜? jstlExam.jsp에서의 request와 jstlTest.jsp의 request가 다르기 때문
*/
//forward
RequestDispatcher dispatcher = request.getRequestDispatcher("jstlTest.jsp");
dispatcher.forward(request, response);
%>
<%-- <jsp:forward page="jstlTest.jsp" /> --%>
////////jstlTest.jsp
<%@ 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>
<h3>** 변수 설정 **</h3>
<c:set var="name" value="홍길동"></c:set> <!-- 정수 실수 이런게 없으니 var="" -->
<c:set var="age">25</c:set>
나의 이름은 ${name } 입니다. <br>
내 나이는 <c:out value="${age }"></c:out>살 입니다<br>
나의 키는 ${height }입니다. <!-- c:set을 설정하지 않아도 오류가 뜨지 않는다 -->
<h3>** 변수 삭제 **</h3>
<c:remove var="name"/>
나의 이름은 ${name } 입니다. <br>
내 나이는 <c:out value="${age }"></c:out>살 입니다<br>
나의 키는 ${height }입니다.
<h3>** forEach **</h3> <!-- 반복문 -->
<c:forEach var="i" begin="1" end="10" step="1"><%-- for(int i=1; i<=10; i++) --%>
${i }
<c:set var="sum" value="$(sum + i)"></c:set><%-- sum = sum + i --%>
</c:forEach>
<br>
1~ 10까지의 합은 ${sum }입니다.
<br><br>
<c:forEach var="i" begin="1" end="10" step="1"> <!-- step엔 0도 안되고 -도 안된다 -->
${11-i }
</c:forEach>
<br>
<h3>** 문자열 분리 **</h3>
<c:forTokens var="car" items="소나타,아우디,페라리,제네시스,제규어" delims=",">
${car }<br>
</c:forTokens>
<h3>** jstlExam.jsp에서 넘어오는 데이터 **</h3>
${requestScope.list } <!-- 옆에 꺼와 같은 의미 request.getAttribute("list") -->
<!-- el태그를 쓰고 있으니 request가 아닌 requestScope라고 써준다 -->
<h3>** 인덱스 2 데이터 출력 **</h3>
${list[2] }
<h3>** jstlExam.jsp에서 넘어오는 데이터 **</h3>
${list2 }
<br><br>
<c:forEach var="personDTO" items="${list2}"> <!-- for(PersonDTO personDTO : list2) -->
이름 = ${personDTO.getName() }   나이 = ${personDTO.getAge() }<br>
</c:forEach>
<h3>메소드명을 변수명처럼 사용</h3> <!-- set과 get 접두사 빼기, 뒤에 있는 괄호도 빼기 -->
<c:forEach var="personDTO" items="${list2}"> <!-- for(PersonDTO personDTO : list2) -->
이름 = ${personDTO.name }   나이 = ${personDTO.age }<br>
</c:forEach>
<!-- personDTO.name()의 name은 DTO의 String name이 아니다
private이라 다른 클래스에서 쓸 수 없으므로
웹에서는 getter만 Spring에서는 getter setter -->
</body>
</html>
////////PersonDTO
package com.jstl;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.NonNull;
import lombok.RequiredArgsConstructor;
@RequiredArgsConstructor
@NoArgsConstructor
@AllArgsConstructor
@Data // 기본 생성자, setter/getter , toString(),...를 자동으로 설정
public class PersonDTO {
@NonNull
private String name;
private int age;
}
728x90
반응형
'JAVA_EE > EL-JSTL' 카테고리의 다른 글
[21.10.07] jstlInput / jstlResult(jstl) (0) | 2021.10.07 |
---|---|
[21.10.07] jstlFormat(jstl) (0) | 2021.10.07 |
[21.10.07] start.jsp / sendProc / sendResult / forwardProc / forwardResult(exam) - 페이지 이동(sendRedirect 와 forward 이용) (0) | 2021.10.07 |
[21.10.06] image.jsp / today.jsp / main.jsp(exam) (0) | 2021.10.07 |
[21.10.06]elInput2.jsp / elResult2.jsp(el) (0) | 2021.10.07 |