관리 메뉴

DeseoDeSeo

[ EL과 JSTL ] EL : 체크박스 출력하기, JSTL 본문

JSP

[ EL과 JSTL ] EL : 체크박스 출력하기, JSTL

deseodeseo 2023. 9. 2. 19:31

< member dto >

package com;

public class MemberDTO {
	private String id;
	private String pw;
	private String nick;
	private String addr;
	
	
	public MemberDTO(String id, String pw, String nick, String addr) {
		super();
		this.id = id;
		this.pw = pw;
		this.nick = nick;
		this.addr = addr;
	}
	
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getPw() {
		return pw;
	}
	public void setPw(String pw) {
		this.pw = pw;
	}
	public String getNick() {
		return nick;
	}
	public void setNick(String nick) {
		this.nick = nick;
	}
	public String getAddr() {
		return addr;
	}
	public void setAddr(String addr) {
		this.addr = addr;
	}
	
	
}

< info.jsp >

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
 	<form action ="result.jsp" method="post">
 		내가 좋아하는 음식
 		<input type ="text" name = "food">
 		<br>
 		좋아하는 생선 :
 		참치 <input type ="checkbox" name = "fish" value ="참치" >
 		광어 <input type ="checkbox" name = "fish" value ="광어" >
 		우럭 <input type ="checkbox" name = "fish" value ="우럭" >
 		전어 <input type ="checkbox" name = "fish" value ="전어" >
        <br>
 		
 		<input type ="submit">
 	
 	</form>
</body>
</html>

스크립트릿과 표현식을 사용해서 input에 입력한 좋아하는 음식을 웹페이지에 표현하시오.

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<!-- 전송방식이 post니까 인코딩 먼저 해줘야함.  -->
 	<%
 	request.setCharacterEncoding("EUC-KR");
 	String food = request.getParameter("food");
 	%>
 	<%=food %>
 	
 	${param.food}
 	${param["food"]}
 	<br>
 	${paramValues.fish[0]}
 	${paramValues.fish[1]}
 	${paramValues.fish[2]}
 	${paramValues.fish[3]}
 	<!-- p.331보기! -->
</body>
</html>
표현 언어로 요청 파라미터 처리하기

< 내장 객체 >

param : Jsp의 내장 객체인 request의 getParameter ()와 동일한 역할인 파라미터 값을 알려줌.

paramValues : 동일한 이름으로 전달되는 파라미터 값들을 배열 형태로 얻어오는 데 사용함.

 

< 조건식 및 반복문 > 

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
    
<!-- JSTL을 사용하기 위한 taglib 추가  -->
<!-- 추가로 jstl lib 프로젝트에 추가-->
 <!-- JSTL이라는 이름이 너무 길어서 c라고 줄여서 쓰겠음. -->
<%@ taglib prefix="c" uri ="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
	<!-- JSTL 사용하기 -->
	<!-- JSTL을 사용하여 page영역에 값 넣기. -->
	<!-- var:이름, value : 값 -->
	<!-- c:set 기본적으로 page영역에 저장이 된다.
			특정 영역에 저장하고 싶다면 scope 속성 활용 -->
	<c:set var="num" value="100" scope="session"/>
	<c:set var="text" value=" " scope="session"/>

	<c:out value="${num}"/>
	
	<!-- JSTL을 활용한 조건문 -->
	<!-- num의 값이 100보다 크거나 같다면 '100보다 큽니다.' 아니면 '작습니다'를 출력  -->
	<c:if test ="${num ge 100}">
		100보다 크거나 같습니다.
	</c:if>
	<c:if test ="${num lt 100 }" > 
		100보다 작습니다.
	</c:if>
	
	<br>
	
	<c:set var="time" value ="점심" />
	<!-- time값이 
		아침  -> 토스트
		점심  -> 비빔밥
		저녁  -> 족발
		그외  -> 라면
		 -->
	<c:choose>
		<c:when test="${time =='아침' }">
		   토스트
		</c:when>
		<c:when test="${time =='점심' }">
		   비빔밥
		</c:when>
		<c:when test="${time =='저녁' }">
		   족발
		</c:when>
		<c:otherwise>
			라면
		</c:otherwise>
			  
	</c:choose>
	
	<br>
	
	<!-- JSTL 반복문 -->
	<!-- for (int i=; i<=10; i++)  -->
	<c:forEach var ="i" begin="1" end="10" step="1">
	하하 ${i}<br>
	</c:forEach>
	<br>
	<!-- 교재 p.351 327 355 358 361 378 -->
	<!-- 문제 -->
	
	
	<table border ="1px">
	<c:forEach var ="i" begin ="2" end="5" step ="1">
	 <tr>
	  	<c:forEach var="j" begin="1" end="9" step="1">
	  	<td> ${i}*${j}= ${i*j} </td>
	  	</c:forEach>
	</tr>
	</c:forEach>
	
	</table>
	
</body>
</html>
JSTL : Jsp standard tag library
          -> Jsp에서 사용 가능한 표준 태그 라이브러리.