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 |