DeseoDeSeo
[ EL과 JSTL ] EL : 체크박스 출력하기, JSTL 본문
< 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에서 사용 가능한 표준 태그 라이브러리.
'JSP' 카테고리의 다른 글
[JSP] JSTL, EL, c:out태그 (0) | 2023.10.23 |
---|---|
[ El과 JSTL ] JSTL 마지막 실습 (0) | 2023.09.04 |
[ EL과 JSTL ] EL ( Expression Language ) (0) | 2023.09.02 |
HashMapTest.java (0) | 2023.08.31 |
[Message System 실습] 하나의 servlet파일을 각각의 class파일로 분할 & 인터페이스 생성 (0) | 2023.08.31 |