el, jstl

2024. 1. 11. 22:58Daily 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 }&nbsp;&nbsp;
</c:forEach>
<br>
<c:forEach var="x" begin ="0" end ="5">
>>>>>>>${x }&nbsp;&nbsp;
</c:forEach>
<br>
<c:forEach var="x" begin ="1" end ="5">
>>>>>>>${x }&nbsp;&nbsp;
</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