ELTest02.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>EL Test</title>
</head>
<body>
<%    //메소드 , EL 두가지형태로 값을 얻을수있음
    pageContext.setAttribute("msg", "봄비");
    request.setAttribute("msg2", "여름장마");
    session.setAttribute("msg3", "가을바람");
    application.setAttribute("msg4", "겨울눈");
%>

page 영역 : <%=pageContext.getAttribute("msg") %><br/>
page 영역 (EL) : ${pageScope.msg} <br/>

request 영역 : <%=request.getAttribute("msg2") %><br/>
request 영역 (EL) : ${requestScope.msg2} <br/>

session 영역 : <%=session.getAttribute("msg3") %><br/>
session 영역 (EL) : ${sessionScope.msg3} <br/>

application 영역 : <%=application.getAttribute("msg4") %><br/>
application 영역 (EL) : ${applicationScope.msg4} <br/>

<!--
page -> request - > session -> application 순으로 뒤져서 찾아냄
page 영역 (EL) : ${msg} <br/>
request 영역 (EL) : ${msg2} <br/>
session 영역 (EL) : ${msg3} <br/>
application 영역 (EL) : ${msg4} <br/>
-->

</body>
</html>



ELTest03.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>표현언어의 사용예제2</title>
</head>
<body>
<h3> 표현 언어의 사용예제2 - 파라미터 값 처리</h3>
<br/>
<form action ="ELTest03.jsp" method="post">
이름<input type="text" name ="name" value ="${param.name}">
<input type="submit" value="확인">
</form><br/>
이름은 (request.getParameter): <%=request.getParameter("name") %> 입니다.
<br/> 
이름은 (EL) : ${param.name} 입니다.
</body>
</html>




<c:set>태그

src/kame.chap16/Membe.java
package kame.chap16;

public class Member {
    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }    
}

WebContent/use_c_set.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%@ page import="kame.chap16.Member" %>
    <%@ page import="java.util.HashMap" %>
    <!-- 
    uri="http://java.sun.com/jsp/jstl/core" <=식별자
     식별자를통해  WEB-INF/lib/jstl-1.2.jar 로 들감
     c 식별자를 통해 jar파일에 연결 
      -->
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <%
        Member member =new Member();
        HashMap<String, String> pref= new HashMap<String,String>();
    %>  
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- 자바빈이 page영역에 등록 -->
<c:set var="member" value="<%=member %>"/>
<!-- 
EL이 데이터를 읽어오는것을 담당해주기때문에 꼭 알아야한다.
member의 name property에 최범균을등록
 -->
<c:set target="${member}" property="name" value="최범균" />


<!-- HashMap pref 을 page 영역에 등록 -->
<c:set var="pref" value="<%=pref %>" />
<!-- 
# : 명시만 할수있다. 데이터 없이 위치만 잡는것.
EL에서 $와 같이 사용하는 기호 : 최근에 도입 그러나 사용하지 않는게 좋음
이유:Struts에서 #을 사용하기때문에 충돌이 날수있다.
-->
<c:set var="favoriateColor" value="#{pref.color}"/>

회원 이름 : ${member.name},
좋아하는 색 : ${favoriateColor}
<br/>

<c:set target="${pref}" property="color" value="red"/>

설정 이후 좋아하는 색 :${favoriateColor}

</body>
</htm>



<c:if> 태그

<%@ 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 PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>if 태그</title>
</head>
<body>
<c:if test="true"> 항상 true. 몸체 내용을 실행함<br/> </c:if>


<c:if test="${param.name=='bk'}">
name파라미터의 값이${param.name} 입니다.<br/></c:if>

<c:if test="${18 <= param.age }">당신의 나이는 18세 이상입니다. </c:if>


</body>
</html>



http://localhost:8080/chap13/use_if_tag.jsp?name=bk&age=18



<c:choose>,<c:when>,<c:otherwise> 태그

<%@ 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 PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>choose 태그</title>
</head>
<body>
<ul>
<c:choose>    
    <!-- 순서대로 체크하며 True가 나오면 choose 문을 빠져나간다. -->
    <c:when test="${param.name=='bk'}">
    <li> 당신의 이름은 ${param.name}입니다.</li>    
    </c:when>
    <c:when test="${param.age >=20}">
    <li> 당신은 20세 이상입니다.</li>
    </c:when>
    <c:otherwise>
    <li> 당신은 'bk'가 아니고 20세 이상이 아닙니다.</li>
    </c:otherwise>
</c:choose>
</ul>
</body>
</html>


<!-- 순서대로 체크하며 True가 나오면 choose 문을 빠져나간다. -->



<c:forEach> 태그
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.util.HashMap" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>forEach 태그</title>
</head>
<body>
<h4>1부터 100까지 홀수의 합</h4>
<c:set var="sum" value="0"/>
<c:forEach var="i" begin="1" end="100" step="2" >
<c:set var="sum" value="${sum+i}" />
</c:forEach>
결과 =${sum}

<h4>구구단: 4단</h4>
<ul>
<c:forEach var="i" begin="1" end="9">
<li>4 * ${i} =${4*i}</li>
</c:forEach>
</ul>

<h4>int형 배열  : new int[] {1,2,3,4,5}</h4>
<c:set var="intArray" value="<%= new int[] {1,2,3,4,5} %>" />
<c:forEach var="i" items="${intArray}" begin="2" end="4" varStatus="status">
    인덱스값:${status.index}-루프실행횟수카운트:${status.count}-값[${i}] <br/>
</c:forEach>
<%
HashMap<String,Object> mapData = new HashMap<String,Object>();
mapData.put("name","최범균");
mapData.put("today",new java.util.Date());
%>
<h4>Map</h4>
<c:set var="map" value="<%=mapData %>" />
<c:forEach var="i" items="${map}">
    ${i.key}=${i.value}<br/>
</c:forEach>

</body>
</html>


<c:forTokens >태그

use_fortokens_tag.jsp
<%@ 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 PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>forTokens 태그</title>
</head>
<body>
콤마와 점을 구분자로 사용:<br>
<c:forTokens var="token" items="빨강색,주황색.노란색.초록색,파랑색,남색.보라색" delims=",.">


${token} <br/>
</c:forTokens>
</body>
</html>


<c:out >태그

use_out_tag.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.io.IOException" %>
<%@ page import="java.io.FileReader" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>소스보기</title>
</head>
<body>
<%
    FileReader reader = null;
    try{
        String path = request.getParameter("path");
        reader = new FileReader(getServletContext().getRealPath(path));
    
%>
<pre>
소스코드 = <%=path %>
<c:out value="<%=reader %>" escapeXml="true" />
</pre>
<%
    }catch(IOException ex){
%>에러:<%=ex.getMessage() %> 
<%
    }finally{//파일리더 스트림 자원해제 하기위해 트라이캐치
        if(reader !=null)
            try{reader.close();}catch(IOException ex){}        
    }
%>
</body>
</html>


<c:catch> 태그

ues_catch_tag.jsp
<%@ 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 PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>catch 태그</title>
</head>
<body>
<c:catch var="ex">

name 파라미터의 값 =<%=request.getParameter("name") %><br/>
<% if(request.getParameter("name").equals("test")){ %>
${param.name}은 test입니다.
<%} %>
</c:catch>

<p/>
<c:if test="${ex !=null}">
예외가 발생하였습니다.:<br/>
${ex}
</c:if>
</body>
</html>





+ Recent posts