# jstl

0926 / Spring_JSTL
Servlet & Jstl Model1 방식 : 비지니스 로직과 디자인이 복합적으로 같이 들어가있는 형태 (소규모 프로젝트에 적당) Model2 방식 : 프로젝트 규모가 커지면서 나온 방식, 비지니스 로직과 디자인을 분리한 형태 *로직처리 : servlet (Model) *디자인과 출력 : jsp,html (View) 이때 JSP 에서 출력시 자바코드를 사용하지 않고 주로 JSTL 태그를 이용해서 request 나 session 에 저장된 데이터에 접근을 한다 JSTL은 라이브러리이기 때문에 사용 전에 core를 header에 추가해주어야 함 JSTL Tags EL(Expression Language) jstl에서 표현식은 ${ }로 표현 Core Tags | Tags | Description | | --- | --- | | | 변
Servlet & Jstl
Servlet & Jstl 그동안 우리가 해왔던 프로젝트 방식 : Model1 방식 : 비지니스 로직과 디자인이 복합적으로 같이 들어가있는 형태 소규모 프로젝트에 적당 프로젝트 규모가 커지면서 나온 방식이 Model2 방식 : 비지니스 로직과 디자인을 분리한 형태 로직처리 : servlet (Model) -> 상속 받는 것 디자인과 출력 : jsp,html (View) 이때 JSP 에서 출력시 자바코드를 사용하지 않고 주로 JSTL 태그를 이용해서 request 나 session 에 저장된 데이타를 접근을 한다 JSTL (JSP Standard Tag Library) 
[JSP] Maven jakarta JSTL 적용 (Java EE에서 Jakarta EE로)
이 이야기를 왜 지금 하냐 학원에서 JSP를 배우고 쓰다 보니 JSTL 라이브러리를 자주 쓰게 됐는데, 이놈이 아주 성가시게 굴었다. 학원에서 Spring Boot 2.7.15 버전 쓰느라 JDK 11버전을 썼는데 나는 최신버전을 안 쓰면 몸이 근질거리는 병에 걸려서 쓰라는거만 쓰면 되는걸 굳이 Spring Boot 3.1.3이랑 JDK 20 버전도 같이 만들었다. 근데 이 JSTL을 예전에 이클립스로 JSP 쓸 때처럼 (그땐 말 잘듣고 JDK1.8 씀) mavenrepository에서 가져와서 쓰려고 보니까 uri를 참조를 못 하겠댄다. 결국에 며칠동안 찔끔 찔끔 찾아서 정리한 결과. JSTL 1.2 버전에서 참조하던 패키지 javax.들이 모두 jakarta.로 변해버린 것! 그러면서 JSTL 1.2는 최신버전에서 못 쓰게 됨.(자세히는 Tomcat 10버전 이상을 사용하면 안 먹음) 그래서 새로 나온게 있음 JSTL 3.0 (현재기준, 정확

다중 테이블에서 ArrayList로 넘어온 데이터를 JSP에서 처리하는 방법
이전 글 * 다중 테이블에서 값을 가지고와 jsp로 전달* 받았으면 이제는 JSP에서 그 list로 넘어온 값 중에서 원하는 값을 원하는 곳에 배치(?) 해야한다! 👻 Details 페이지의 최종 모습 이어서 2. 해결 과정 7. movie_id=1을 찾아와! 위의 과정을 반복해 다시 5. MovieController로 돌아와 service에서 movie_id = 1에 해당하는 데이터를 "movie"라는 키로 mode

Spring // jstl, taglib 오류
신규 프로젝트를 만들어 jsp에 코딩을 후루루촵 하던 중 잘 나오고있던 jsp에게 갑자기 뜬 오류;; 500번 오류에.. jsp 상단에 추가한 taglib 부분이* not be resolved;;* 분명 이전에 쓰던 프로젝트에서 복붙한건데? 이러는건 build.gradle 가서 config 살펴보기로함 **jsp와, jstl관련 의존성을 bui

[WEB] EL & JSTL
⚡ EL & JSTL 📌 EL(Expression Language) 🔷 표현 언어라고 하며 값(data)를 웹 페이지에 표시 하는데 사용되는 태그 🔷 JSP 스크립트의 표현식(``)을 대신하여 속성값을 쉽게 출력할 수 있도록 고안된 언어 EL 표현식에서 Map 객체 또는 Java Bean 객체의 경우 도트(.)연산자를 사용하여 속성을 출력할 수 있다. 이 때 오른쪽의 값은 Map 객체의 경우, key, Java Bean의 경우 Bean property이다. JSP 영역 기본 객체(page, request, session, application) 속성 사용가능 수치, 관계, 논리연산 제공 자바 클래스 메서드 호출 기능 제공 표현언어 기본 객체 제공(param, paramValues) 📌 EL 문법 🔷 스크립트릿을 EL로 > 💡 DTO _D
JSTL Core Tag
core tag에서 if, when choose, forEach는 종종 사용했지만 set, out, url은 잘 사용하지 않아서 정리합니다. 검색해보면 보다 선언적으로 만들기 위해서 사용한다고 하는데 각각의 예를 더 알아보겠습니다. 변수에 값을 할당하거나 객체의 속성 값을 설정할 때 사용합니다. 코드의 가독성을 향상시키고 재사용성 및 유지보수를 향상시키기 위해 사용합니다. 또한 값의 가공이 필요하거나 특정 범위 내에서 변수를 사용할 수 있습니다. 주요 장점은 자동으로 HTML 특수 문자를 이스케이프하여 XSS(Cross-Site Scripting) 공격을 방지할 수 있습니다. > 이스케이프 예시 `는 >`로 변환됩니다. "는 "로 변환됩니다. '는 ' 또는 '로 변환됩니다. &는 &로 변환됩니다.

230705 day63 개념 정리
JSTL - jsp standard tag library 태그를 모아 표준으로 만들어놓은 라이브러리 jsr파일 다운로드 후 web-int => lib => 붙여넣기 접두어와 uri 추가해야 사용 가능 5가지 태그를 제공 Corex태그 변수지원 : jsp 사용될 변수 설정 -> 영역을 지정하지 않으면 page영역에 생성됨. 값 : 설정된 변수 제거 흐름제어 : 조건에 따라 내부 코드를 수행 조건이 true일 때 출력될 문장 </c

230704 day62 개념 정리
jsp 표준 태그 라이브러리 JSTL Jsp Standard Tag Library (확장 태그여서 별도의 라이브러리 필요) https://mvnrepository.com/ javax.servlet/jstl 검색 첫번째 나온 검색 결과 클릭 버전 1.2 클릭 jar타입으로 다운 다운로드 받은 후 jar파일을 web-inf 폴더 - lib 폴더 안에 넣기 (오라클 드라이버 설치한 경로) JSTL 사용하려는 jsp 파일에서는 taglib 지시어를 추가해야함 (접두어, uri) JSTL 5가지 태그 제공 Core태그 기능 : 변수 선언, 조건문/반복문, URL처리 접두어 - c URI : http://java.sun.com/jsp/jstl/core Formatting태그 기능

JSTL개념 공부하기
📖 JSTL이란? >JSTL이란 JSP 개발을 단순화하기 위한 표준태그 라이브러리이며 JSTL + EL의 조합을 의미한다. 또한 빠른 개발 ,코드 재사용성, JSP의 스크립트릿을 최소화해서 코드의 난독을 해결할 수 있다는 특징을 가지고 있다. >JSTL과 EL에 대해 알아보도록 하자. 📢 JSTL core 태그들 | 태그명 | 설명 | | :- | - | | | 변수명에 값을 할당 | | | 값을 출력 | | | 조건식에 해당하는 블럭과 사용될 scope설정 | |

EL, JSTL정리
EL > ✍️ 값을 간결하고 간편하게 출력할 수 있도록 해주는 언어 ,out.printout()과 같은 자바 코드를 더 이상 사용하지 않고 좀 더 간편하게 출력을 지원하기 위한 도구 배열이나 컬렉션에도 사용되고, javabean의 프로퍼티에서도 사용된다. EL 구문예시 범위, 연산자 el 식에서는 attribute의 이름으로 해석이 된다. 값을 찾을때 attribute는 작은 scope에서 큰 scope으로 찾는다. page > request > session> application -만약 특정한 객체 값을 가져오려면 scope의 범위를 지정해서 호출 ->page scope: 하나의 jsp페이지에서만 사용할 수 있는 영역 ->

c:out 을 왜 쓰는 걸까?
사실 이 부분에 대해서 나중에 검색해봐야지... 해놓고 미루고 있었는데 조원이 c:out을 썼을 때랑 그냥 EL만 사용했을때랑 뭐가 다르냐고 물어봤을때 나도 잘 모르겠는데... 🤨? 아마도 c:out가 출력해주니까 el만 썻을때는 아무것도 안뜨고 c:out으로 해야지 값이 출력되지 않을까? 라고 말해주고 확실하지 않으니까 검색해보라고 답변을 했던 기억이 난다... 그리고 오늘 집에서 복습을 하는데 내가 했던 답이 얼추......? 맞다는 걸 알게 됐다.. ^^;; (그래도 한 15% 정도는 맞췄네 껄껄) 인터넷에 c:out 왜 쓰는데? 하고 검색해보면 꽤 많은 포스팅이 나온다. 읽어보면 대부분 보안의 이유로 사용하고 출력 문자열에 특수문자가 들어갔을때 HTML을 해석하지 않고 그대로 출력되도록 해주고..... 삼항연산자를 사용할 수 있고.... 파싱 블라블라... 됐고 뭐가 다른지 실습을 해보자 🤯 여기에서 사용하는 res
[DO/DAO 실습정리]로그인,게시판 구현-1 (UserDO.java , BoardDO.java)
DAO는 Data Access Object의 약자로, Database에 접근하는 역할을 하는 객체. 프로젝트의 서비스 모델에 해당하는 부분과 데이터베이스를 연결하는 역할을 하며 데이터의 CRUD 작업을 시행하는 클래스! 즉, DAO는 데이터에 대한 CRUD 기능을 전담한 오브젝트를 의미한다. 이를 사용하는 사람은 자신에게 필요하거나 사용하려는 인터페이스를 DAO에게 넘겨주고 DAO는 이 인터페이스를 구현한 구현체를 사용자가 편리하게 사용할 수 있도록 반환해준다. 장점: 효율적인 커넥션 관리와 보안성때문이다. DAO는 비즈니스 로직을 분리하여 도메인 로직으로부터 DB와 관련한 메커니즘을 숨기기 위해 사용합니다. DTO(DO)는 Data Transfer Object의 약자로, 데이터를 전달하기 위한 객체. 여러 레이어(Layer)간 데이터를 주고 받을 때 사용할 수 있는데 주로 View와 Controller 사이에서 활용된다. DTO는 getter / setter

Spring 게시판 프로젝트 (페이징 기법 , JSTL) 간단하게 배워보기 .
안녕하세요 민 입니다. 지금까지는 스프링의 개념과 구조에 대해서 열심히 알아보았는데요. 하지만 알고있다는 생각이 들어도 실제로 구현해보지 않으면 본인의 기술이 아니고, 코드를 구현한 후에 남에게 자기 코드를 설명해줄 때 막히는 부분이 있다면 이 또한 자신의 코드가 아니라고 생각합니다. 💁♂️ 그래서 오늘은 간단한 게시판 프로젝트를 제작해보았습니다 . > 게시판 작성을 위한 간단한 기능(작성, 리스트, 디테일적인 부분)은 쉽게 작성하실 수 있지만* paging기법*은 쉽지만 이해가 필요하다는 생각이 들어서 오늘은 코드와 함께 설명해드리겠습니다. 먼저 목차입니다. 따라오시죠!! . . . >🥸 목차 페이징 기법을 이용하기 위한 구조 설명 결과확인 느낀점 1. 페이징 기법을 이용하기 위한 구조 설명 첫 번째입니다. 페이징 기법을 알기 위해서는 게시판에 대한 설명을 미룰 수 없는데요. 일단 Controller

[실습정리-cos.jar]파일업로드 만들기-2
웹에서 많이 사용하는 파일올리기!!! 파일 올릴때, 여러개로 올릴수 있게 파일 올리는 칸을 추가/삭제 기능 구현 자바스크립트 함수로 구현! input태그를 cell1,2로 해서 클릭시 행 추가!!! 또한 파일사이즈를 10mb까지 업로드가 가능하게 하여,,10mb넘으면 자바스크립트로 경고창을 뜨게 함!! 1KB = 1024Byte 뜻함 행삭제 역시..자바스크립트로 구현하였다. for문을 통해 체크박스의 체크한 갯수만큼 삭제(--)되게 함. 여기서!! checkBox.length-1 의 '-1'은 인덱스넘버가 0부터 시작이라서 -1을 기재하였다! 메인페이지.jsp 결과페이지.jsp 설명: 파일업로드에 필요한 것들을 <%@ 로 import 함!! <% 자바코드기술에 대한 설명.. sa

[실습정리-cos.jar]파일업로드 만들기-1
웹에서 많이 보는 파일업로드하는 실습정리.. 우선 입력한 데이터를 주출하고 웹 페이지에 데이터 결과를 보여주는 실습을 정리!! 파일업로드 가장 중요: form 태그 안에 enctype="multipart/form-data" 꼭 넣어야함!!!!! 안그러면 java.io.ioexception: posted content type isn't multipart/form-data 이러한 오류를 볼수 있다.. 메인 페이지.jsp 설명: form 태그에 enctype을 적었다. 그리고 간단하게 html과 부트스트랩으로 꾸밈.. 쇼핑몰 관리자 페이지를 만들고,, 상품명/가격/이미지/상품설명 값을 입력하면 action="viewpage.jsp" 뷰페이지 1로 이동할 것이다~ **뷰페

[IT국비지원] 개발자 교육 16일 차 : JSP(2023.08.17)fit.구디아카데미,김지훈 강사님
이하 구디아카데미 김지훈 강사님의 수업자료와 강의 내용 정리, 실습한 내용을 정리함! > 노트북에 TOMCAT 깔려다가 실패한 어젯밤... 기록에 뭐가 빠진 걸까. > 프로젝트 팩츠 > JAVA > Version 11로 변경 JAVA Bean Scriptlet 을 최소화시키려 하는 이유는 JAVA LOGIC 과 HTML 을 분리시키기 위해서 이다. JAVA Bean 을 이용하면 JAVA CODE 의 일부를 분리할 수 있다. 우리는 이것을 MODEL I 이라고 지칭한다.(현재 사용하지 않음) 자바에서 데이터를 담당하는 부분만 따로 떨어트린 부분을 모델1이라고 함 Bean 은 여러 JSP 에서 생성되는 데이터의 창고 역할을 수행한다. Bean 에서 data 를 공

<JSTL-실습>JSTL이란 + 실습정리
JSTL이란? JSTL은 JavaServer Pages(JSP)를 위한 표준 태그 라이브러리이다. JSTL은 JSP개발을 간편하게 하고 코드의 가독성과 재사용성을 높이기 위해 개발되었다. JSTL은 JSP 페이지에서 사용할 수 있는 태그와 함수의 모음을 제공하여 서버측 로직을 간소화하고 작업을 처리할 수 있게 한다. [출처] JSTL(JSP Standard Tag Library)|작성자 요니 실습정리 -쇼핑몰에서 많이 사용하는 상품목록! 필요파일: java파일,jsp파일2개 필요 java파일은, 제품목록을 만든다 간단하게 배열로... 멤버변수 아래에 getter메소드를 만들면 됨. select파일 List파일 * 아래로↓ jstl문장으로 변경 * 설명: 안에 자바 코드를 기술한 내용을 jstl문장으로 변경한 내용이다 자바코드로는 for문으로 아이템 목록을 만들었다. 같은 내용으로 더 짧게 jstl로 서술이 가능하다. js

[Spring] JSTL로 화면에 D-day 보여주기
1. 배경 > 친구랑 토이 프로젝트를 진행하는데 주제로 를 만들기로 했다. 각자 잘 사용 하고 있는 앱인 타임블럭스(TimeBlocks)와 투두메이트(todomate)를 참고로 했다. 이런 화면이 나오도록 화면 설계서를 작성했고 이 글에서는 왼쪽 상단의 D-day 구현기를 적어보도록 하겠다... 2. 개발환경 Java 1.8 SpringFramework Oracle Database MyBatis 3. 구현하기 3-1. 테이블 설계 > 회원 가입을 한 사용자가 할 일 리스트를 적을 카테고리를 생성하고 그 카테고리에 일정을 추가할 수 있도록 테이블을 설계했다. 의 약어이다. 자주 사용될 수 있는 커스텀 태그들을 모아서 표준으로 모아놓은 태그 라이브러리다. ✔️ JSTL의 종류 |라이브러리명|접두어|주요 기능|URL| |:--:|:--:|:--:|:--:| |코어|c|변수 지원, 제어문, 페이지 관련 처리 |http://java.sun.com/jsp/jstl/core| |함수|fn|collection 처리, String 처리| http://java.sun.com/jsp/jstl/fuctions| |포매팅|fmt|포맷 처리, 국제화 지원 |http://java.sun.com/jsp/jstl/fmt| |데이터베이스|sql|DB관련 CRUD 처리|http://java.sun.com/jsp/jstl/sql| |XML|x|XML관련 처리|http://java.sun.com/jsp/jstl/xml| <