el, jstl
2024. 1. 11. 22:58ㆍDaily Codig Reminder
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>연산 가능</h1>
<%= "홍길동" %><br>
${"홍길동"}<br>
<HR>
<% int x= 10; %>
포준 jsp 태그 : <%=x %>
el 태그: ${x }<br> <!-- bind 객체(request, session) 에
접근만 가능하며 일반 변수 사용이 안됨 주의!!!!!!!! -->
<hr>
<!-- 사칙연산 사용가능 -->
${10+4 }<br>
${10-4 }<br>
${10/4 }<br>
${10*4 }<br>
<hr>
<!-- t/f 사용 가능 -->
${10>=4 }<br>
${10<=4 }<br>
${10<=4 }<br>
${10!=4 }<br>
<hr>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>2. bind</h1>
<%
String xxx = (String )request.getAttribute("xxx");
%>
일반: <%=xxx %><br>
<hr>
EL 이용한 데이터 얻기: ${xxx } <br>
EL: ${empty xxx }<br> <!-- false -->
EL: ${not empty xxx}<br><!-- true -->
</body>
</html>
requestscope ★ ★ ★ ★ ★
sessionscope ★ ★ ★ ★ ★
applicationscope ★ ★ ★ ★ ★
form userid ⇒ request
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>2. bind</h1>
<%
String xxx = (String )request.getAttribute("xxx");
String x3 = (String )request.getAttribute("x3");
String x2 = (String )request.getAttribute("x2");
%>
일반: <%=xxx %><br>
일반: <%=x3 %><br>
일반: <%=x2 %><br>
<hr>
xxx: ${xxx } <br>
yyy: ${x3 }<br>
zzz: ${x2}<br>
<hr>
EL requestScope: ${requestScope.xxx }<br>
EL request: ${request.xxx }<br> <!-- 사용안됨 -->
EL sessionScope: ${sessionScope.x3 }<br>
EL session: ${applicationScope.x2.xxx }<br>
</body>
</html>
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setAttribute("xxx", "홍길동");
Person p = new Person("이순신", 10);
request.setAttribute("person", p);
RequestDispatcher dis = request.getRequestDispatcher("02_bind4.jsp");
dis.forward(request, response);
}
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="com.dto.Person" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
String xxx = (String )request.getAttribute("xxx");
Person p = (Person)request.getAttribute("person");
%>
일반: <%=xxx %><br>
일반: <%=p.getUsername() %>
일반: <%=p.getAge() %>
<input type ="text" value="<%= p.getUsername() %>">
<hr>
${person }<br>
xxx: ${xxx } <br>
EL: person.name = ${requestScope.person.username }<br>
EL: person.name = ${person.username }<br>
EL: person.age = ${person.age }<br>
<hr>
</body>
</html>
loginForm
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>로그인화면</h1>
<form action="login.jsp" method="post">
아이디: <input type="text" name="userid"><br>
비밀번호: <input type="text" name="passwd"><br>
<input type="submit" value="로그인">
</form>
<hr>
<form action="paramTest.jsp" method="post">
아이디: <input type="text" name="aaa"><br>
비밀번호: <input type="text" name="bbb"><br>
<input type="checkbox" name="ccc" value="a"><br>
<input type="checkbox" name="ccc" value="b"><br>
<input type="submit" value="로그인">
</form>
</body>
</html>
param
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
1. ${aaa }<br>
2. ${param.aaa}<br>
3. ${param.bbb}<br>
4. ${paramValues.ccc}<br>
4. ${paramValues.ccc[0]}<br>
4. ${paramValues.ccc[1]}<br>
4. ${paramValues.ccc[2]}<br>
</body>
</html>
login.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
request.setCharacterEncoding("utf-8");
String userid = request.getParameter("userid");
String passwd = request.getParameter("passwd");
%>
일반 : <%= userid %><br>
일반 : <%= passwd %><br>
<hr>
el : ${userid }<br><!-- scope 바인딘 된 키값만 가능 -->
el : ${param.userid }<br>
el : ${param.passwd }<br>
${param.aaa}
</body>
</html>
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
<display-name>10__EL</display-name>
<context-param>
<param-name>userid</param-name>
<param-value>test</param-value>
</context-param>
<context-param>
<param-name>email</param-name>
<param-value>aa@aa.com</param-value>
</context-param>
</web-app>
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
List<Person>list = new ArrayList <Person>();
list.add(new Person ("이순신", 10));
list.add(new Person ("유관순", 20));
list.add(new Person ("강감찬", 30));
request.setAttribute("xxx",list);
RequestDispatcher dis = request.getRequestDispatcher("02_bind5.jsp");
dis.forward(request, response);
}
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.util.List" %>
<%@ page import="com.dto.Person" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%List<Person>list = (List)request.getAttribute("xxx");
for (Person p : list){
%>
일반: <%=p.getUsername() %><br>
일반: <%=p.getAge() %><br>
<%} %>
<% int x=0; %>
<hr>
EL:::::::: ${xxx[0].username }<br>
EL:::::::: ${xxx[x].username }<br>
<% for (int i=0; i<= list.size(); i++){ %>
EL: person.name = ${ xxx[i].username }<br>
EL: person.age = ${ xxx[i].age }<br>
<%} %>
</body>
</html>
JSTL
web- inf / lib에 jstl용 드라이버
jstl.jar standard.jar 가 포함되어야 함 이후 jdbc/mybatis 드라이버도 포함되어야 함
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!-- 0. jstl 사용 lib폴더에 .jar 두가지 포함되어 있어야 함 -->
<%@ 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>
<h1>jstl core 태그의 사용</h1>
xxx: ${xxx }<br>
${xxx=='bbb' }<br>
not empty: ${not empty xxx }<br>
empty: ${empty xxx }<br>
${xxx!='홍길동' }
${xxx=='홍길동' }
<hr>
<c:if test="${not empty xxx }">xxx가 있음 </c:if><br>
<c:if test="${xxx=='홍길동' }">홍길동임</c:if><br>
<c:set var="aaa" value="${xxx }" scope="application"></c:set>
<!-- xxx=홍길동 application .setattribute("aaa","홍길동") -->
applicationScope 이름: ${applicationScope.aaa }<br>
이름 aaa: ${aaa }<br><!-- application.getAttribute("aaa"); -->
<c:set var="bbb" value="${xxx}" ></c:set><!-- pageScope 에 저장 -->
bbb: ${bbb }<br>
request 의 이름 : <c:out value="${xxx }"></c:out><br>
application 의 이름: <c:out value="${aaa }"></c:out><br>
<% int x=100; %>
jsp 태그 변수값 출력: <c:out value="<%= x %>"></c:out><br>
<c:if test="<%=true %>">aaa1</c:if>
<c:if test="${10>4 }">aaa2</c:if>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!-- 0. jstl 사용 lib폴더에 .jar 두가지 포함되어 있어야 함 -->
<%@ 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>
<h1>jstl core 태그의 사용 --if</h1>
xxx: ${xxx }<br>
<c:if test="S{xxx=='홍길동'}">홍길동과 같음</c:if>
<hr>
<c:choose>
<c:when test="${xxx=='홍길동' }">홍길동임</c:when>
<c:when test="${xxx=='유관순' }">유관순임</c:when>
<c:when test="${xxx=='이순신' }">이순신임</c:when>
<c:otherwise>자료가 없음</c:otherwise>
</c:choose>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>foreach3: fofTokens </h1>
<%
String yyy = (String)request.getAttribute("yyy");
String mesg [] = yyy.split("/");
for(String i : mesg){
%>
<%=i %><br>
<% }%>
</body>
</html>
<%@ 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>
<h1>jstl core태그의 사용 -- forEach</h1>
<h1>dorEach3: c: forTokens</h1>
<c:forTokens var="x" items="${yyy }" delims="/">
${x }<br>
</c:forTokens>
</body>
</html>
<%@ 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>
<h1>foreach3: fofTokens </h1>
<%
String yyy = (String)request.getAttribute("yyy");
String mesg [] = yyy.split("/");
for(String i : mesg){
%>
<%=i %><br>
<% }%>
<h1>forEach2: Status</h1>
<c:forEach var ="person" items="${xxx }" varStatus="status">
${person.username} : ${person.age }<br>
current: ${status.current.username }<br>
current: ${status.current }<br>
index: ${status.index }<br>
count: ${status.count }<br>
first: ${status.first }<br>
last: ${status.last }<br>
</c:forEach>
</body>
</html>
<%@ Spage 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>
<h1>jstl core태그의 사용 -- forEach</h1>
<h1>dorEach3: c: forTokens</h1>
<c:forTokens var="x" items="${yyy }" delims="/">
${x }<br>
</c:forTokens>
<h1>forWach3:range</h1>
<c:forEach var="x" begin ="0" end ="6" step="2">
>>>>>>>${x }
</c:forEach>
<br>
<c:forEach var="x" begin ="0" end ="5">
>>>>>>>${x }
</c:forEach>
<br>
<c:forEach var="x" begin ="1" end ="5">
>>>>>>>${x }
</c:forEach>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>url: 상대경로</h1>
<a href="target.jsp">A</a>
<a href=" <C:url value='target.jsp'/> ">B</a>
<h1>url: 절대경로</h1>
<a href="/target.jsp">C -404</a><!-- 안만들어짐 -->
<a href="<%=request.getContextPath() %> /target.jsp">C-2</a><!-- 안만들어짐 -->
<a href=" <C:url value='/target.jsp'/> ">D</a>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>url: 상대경로</h1>
<a href="target.jsp">A</a>
<a href=" <C:url value='target.jsp'/> ">B</a>
<h1>url: 절대경로</h1>
<a href="/target.jsp">C -404</a><!-- 안만들어짐 -->
<a href="<%=request.getContextPath() %> /target.jsp">C-2</a><!-- 안만들어짐 -->
<a href=" <C:url value='/target.jsp'/> ">D</a>
</body>
</html>
<%@ 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="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>function 태그</h1>
<c:set var="s1" value="NCS교육과정" scope="request"/>
<% String data = (String)request.getAttribute("s1");
String data2 = data.toLowerCase();
out.print("문지열 길이"+data2);
%>
문자열 길이 : ${fn: length(s1) }<br>
문자열 길이 : ${fn: length(s1)==7 }<br>
대문자 : ${fn: toUpperCase(s1) }<br>
소문자 : ${fn: toLowerCase(s1) }<br>
부분열: ${fn: substring(s1, 0,7) }<br>
공백제거 : ${fn: trim(s1) }<br>
replace : ${fn: replace(s1, "N", "XXXx") }<br>
contains : ${fn: contains(s1, "NcS") }<br>
contains2 : ${fn: contains(s1, "ncs") }<br>
contains3 : ${fn: containsIgnoreCase(s1, "ncs") }<br>
<c:set var="s2" value="AAA/BBB/CCC"/>
${fn:split(s2,"/" )[0]}<br>
${fn:split(s2,"/" )[1]}<br>
${fn:split(s2,"/" )[2]}<br>
<hr>
<c:forTokens var="x" items="${s2} " delims="/">
${x }<br>
</c:forTokens>
<c:forEach var="y" items="${fn:split(s2, '/' )}">
${y }
</c:forEach>
</body>
</html>
'Daily Codig Reminder' 카테고리의 다른 글
jquery:CSS (0) | 2024.01.13 |
---|---|
ready, hierarchy (0) | 2024.01.12 |
jquery (0) | 2024.01.11 |
mvc (0) | 2024.01.11 |
jsp2 (0) | 2024.01.04 |