JSTL day 42 실무

stan·2023년 7월 4일
0

jsp

목록 보기
10/15

View 작업자의 특징은 (자바를 갈수록 더 모름)
→ JAVA 보다는
Vue, Node, React,... 다른 종류를 더 많이 공부함
근본이 자바스크립트
사용자의 동작
JS, jQuery, ...
경량의 데이터를 요청 및 응답
jQuery의 ajax()를 사용; JSON 데이터와 같이

[ View를 View답게 ! ]

1) View는 JAVA를 절대 작성 XXXXX (정말 피치못할경우 아주 쪼끔 쓰지만 쓰면 안됨)

아.. JAVA와 같은 "기능"을 가진 태그가 있었으면 좋겠다
누가 "기능을가진" 태그좀 만들어주세요..

JSTL
자바서버 페이지 표준 태그 라이브러리 (조건문, 반복문등 처리하기 위한)
JSP 태그 라이브러리를 추가하여 JSP사양을 확장

  • JAVA 기능을 구현한 모음집
    (조건문,반복문 등) .jar import 해야되겠구나~~~

<jsp:useBean id="pb" class="test.ProductBean" scope="session" />


Test05 실무

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>실무 - 쇼핑몰 상품 선택 페이지</title>
</head>
<body>
	<form>
		<select name="sel"> <!-- 들어온 파라미터가 a야? 그럼 a로 보여줘 -->
			<option ${param.sel == 'a' ? 'select' : ''}>a</option>
			<option ${param.sel == 'b' ? 'select' : ''}>b</option>
			<option ${param.sel == 'c' ? 'select' : ''}>b</option>
			<option>c</option>
		</select>
		<input type = "submit" value="선택">
	</form>	
	
	<hr>
	
	<c:choose>
		<c:when test="${param.sel == 'a'}">
			a를 선택했습니다.
		</c:when>
		<c:when test="${param.sel == 'b'}">
			b를 선택했습니다.
		</c:when>
		<c:when test="${param.sel == 'c'}">
			c를 선택했습니다.
		</c:when>
		<c:otherwise>
			??? 잘못된 파라미터입니다.
		</c:otherwise>
	</c:choose>
	

	
</body>
</html>

Test01

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <!-- 태그 라이브러리 지시어(페이지 지시어) -->
<!-- uri, prefix(뭘로 호출 할지)가 있어야함 -->
<jsp:useBean id="pb" class="test.ProductBean" scope="session" />

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>상품선택페이지</title>
</head>
<body>

<form action="test02.jsp" method="post">
   <select name="product">

		<!-- JAVA의 for문 기능을 가지는 태그 -->
		<!-- JSTL에서 구현해놓았다! --> <!-- EL식으로 getter를 생략한 형태로 -->
		<c:forEach var="v" items="${pb.pdatas}"> <!-- 라이브러리꺼기 때문에 JSP에 등록을 해야지만 사용가능 -->
			<option>${v}</option>
			<!-- EL식 : 자바표현식; 선언해 놓은 친구를 노코스트로 불러낼 수 있음-->
		   </c:forEach>
   </select>
   <input type="submit" value="상품 선택">
</form>



</body>
</html>

forEach는 두가지 속성을 적어야 한다

EL식
간단한 연산이 간능함


Test02

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>결과페이지</title>
</head>
<body>

선택한 상품은 ${param.product }입니다. <br>
num1 + num2 = ${pb.num1+pb.num2}

</body>
</html>

Test03

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

	<c:set var="member" value="admin" />

	<c:if test= "${ member == 'admin' }">
		안녕하세요, 관리자님! :D`
	</c:if>
	<c:if test="${ member != 'admin' }">
		사용자 모드 : ${member}
	</c:if>

</body>
</html>

Test03

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

	<c:catch var="error">
		<%=100/0 %>
	</c:catch>
	
	에러 메세지 : ${error}

</body>
</html>
profile
이진 입니다

0개의 댓글