1. el과 jstl

1)el(expression language)

- <%= %> , out.println()과 같은 자바코드를 더 이상 사용하지 않고 좀더 간편하게 출력을 지원하기 위한 도구.

배열이나 컬렉션에서도 사용되고, JavaBean의 프로퍼티에서도 사용된다.

- <%=%> 대신 ${}를 사용하며, parameter형식에서는 ${param.///} 형태로 사용한다.

2) jstl(jsp standard tag library)

-자신만의 태그를 추가할 수 있는 기능 제공. <jsp:include>또는 <jsp:usebean>과 같은 커슽텁 태그처럼

연산이나 조건문, 반목분인 if문, for문, db를 편리하게 처리할 수 있게 도와주는 것

-선언방식

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

3) el과 jstl 사용하기

1. jstl 사용을 위한 jar파일 다운로드 (maven pository)

>> jstl검색후 다운수 제일많은거 다운

>> web-inf 의 lib 폴더에 넣고 사용한다.

2. dto 셋팅

package kr.or.ksmart;

public class UserDto {
	private String userName;
	private String userAddr;
	
	public String getUserName() {
		return userName;
	}
	public void setUserName(String userName) {
		this.userName = userName;
	}
	public String getUserAddr() {
		return userAddr;
	}
	public void setUserAddr(String userAddr) {
		this.userAddr = userAddr;
	}
	
	@Override
	public String toString() {
		return "UserDto [userName=" + userName + ", userAddr=" + userAddr + "]";
	}
}

3. servlet에서 값을 세팅(경로를 설정해줘야함)

package kr.or.ksmart;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/Ksmart")
public class Ksmart extends HttpServlet {
	private static final long serialVersionUID = 1L;

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		/******************
		 * 포워드 기본
		 ******************/
		List<String> strList = new ArrayList<String>();
		strList.add("A");
		strList.add("B");
		strList.add("C");
		
		UserDto dto = new UserDto();
		dto.setUserAddr("전주시");
		dto.setUserName("홍길동");
		
		request.setAttribute("strList", strList);
		request.setAttribute("userDto", dto);
		request.setAttribute("myName", "홍길동");

		
		//getRequestDispatcher("출력을 위임할 경로를 기입")
		RequestDispatcher rd = request.getRequestDispatcher("/eljstl.jsp");
		//출력을 위임할 페이지에 리퀘스트와 리스폰스 객체를 전달
		rd.forward(request, response);
		
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);
	}

}

4. 출력형태 설정

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%
	/*
		Model -> spring에서 객체담고 화면에 그 객체를 전달해줌. request 기능을 한다.
		서블릿 -> request 속성에 객체를 삽입하고 화면에서 객체를 받는다.
		(포워드가 되었을 시 )
	
	*/
	request.setAttribute("userName", "홍길동");
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>el과 jstl</title>
</head>
<body>
	안녕하세요. ${myName}
	<br>
	${userDto} <br>
	${userDto.userName}
	
	<c:if test="${!empty userDto}">
		${userDto.userName}
	</c:if>
	
	<c:if test="${!empty strList}">
		<c:forEach var="str" items="${strList}">
			${str}
		</c:forEach>
	</c:if>
</body>
</html>

5. 확인(서블릿 페이지에서 실행하면 서블릿에 세팅된 경로로 실행된다.)

'JAVA' 카테고리의 다른 글

데이터 암/복호화 (AES256)  (0) 2023.05.16
데이터 암호화(SHA256)  (0) 2023.05.16
Java-Jsp Driver로딩 및 DTO Bean  (0) 2023.05.15
Jsp-Java JDBC 연결  (0) 2023.05.09
매서드(method), 상속, final  (0) 2023.04.17

+ Recent posts