액션 태그: JSP 페이지에서만 사용 가능
-HTML(정적) 태그 형태로 JSP(동적)의 동작을 수행 가능하게 하는 태그
<%@ include %> [include 지시어]
→ 페이지 내부에 속성(값)을 추가할 때 사용
→ 페이지를 컴파일 하기 전에 소스 코드를 include 후 컴파일 해서 사용한다
jsp:include/ [include 액션 태그]
→ 공통적인 페이지를 추가할 때 사용(페이지의 제어권 넘겨서 사용)
→ 페이지를 컴파일 후에 include해서 사용한다
<%@ 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>test1.jsp</h1>
<!-- ctrl +F11 실행 -->
<!-- HTML주석문 : ctrl shift / , \\ -->
<script type="text/javascript">
// JS 주석문
/* JS 주석문 */
</script>
<%-- JSP 주석문 --%>
<%
// JAVA(JSP) 주석문
/* JAVA(JSP) 주석문 */
%>
<!-- int itwill;(HTML - X) -->
<!-- 1. 선언문 -->
<%!
// 자바코드 사용가능
int itwill=100;
// 메서드 선언O
public void methodA(){
System.out.println(itwill);
}
// 메서드 호출X
//System.out.println(itwill);
%>
<!-- 2. 스크립틀릿 -->
<%
int busan = 200; // 지역변수
//메서드 호출O
System.out.println(itwill);
System.out.println(busan);
%>
<!-- 3. 표현식 -->
<%=itwill %><br>
busan = <%=busan %> <br>
</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>testPro1.jsp</h1>
파라메터 : 이전페이지(form)에서 전달해준 정보<br>
request.getParameter("input태그 name"); <hr>
전달된 정보 : <%=request.getParameter("id") %><br>
전달된 정보 : <%=request.getParameter("age") %><br>
전달된 정보 : <%=request.getParameter("id") %><br>
<%
String id = request.getParameter("id");
// 폼태그로 전달된 데이터 파라메터는
// 항상 '문자열(String)' 타입이다.
//int age = request.getParameter("age");
int age = Integer.parseInt(request.getParameter("age"));
%>
아이디 : <%=id %><br>
나이 : <%=age %><br>
</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>testForm1.jsp</h1>
<h2> form 태그 : 특정페이지로 정보 전달하는 태그 </h2>
<fieldset>
<form action="testPro1.jsp" method="get" name="fr" onsubmit="return fn();">
아이디 : <input type="text" name="id"><br>
나이 : <input type="text" name="age"><br>
<input type="submit" value="전송">
</form>
</fieldset>
<script type="text/javascript">
function fn(){
if(document.fr.id.value == ""){
alert(" 아이디를 입력하세요! ");
document.fr.id.focus();
return false;
}
}
</script>
</body>
</html>
input 태그 기본 속성
Form데이터의 일괄처리 메소드
인코딩 방식이 문제 → 한글을 처리하는 인코딩 설정
request.setCharacterEncoding("UTF-8");
⇒ post 방식일 때만 설정!
<%@ 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>test2.jsp</h1>
<h2>JAVA/JSP 사용해서 정보 출력</h2>
<%
//자바코드 사용하기위해서
// 스크립틀릿 사용해야한다.
String[] arr = {"JAVA","JSP","JS","WEB","DB"};
System.out.println(arr[1]);
// JAVA JSP JS WEB DB 출력
for(int i=0;i<arr.length;i++){
System.out.print(arr[i]+" ");
}
for(int i=0;i<arr.length;i++){
//out.print(" HTML코드 작성 ");
out.print(arr[i]+" ");
}
%>
<%
//jsp
for(int i=0;i<arr.length;i++){
//jsp
%>
<h1> 안녕! <%=arr[i] %> </h1>
<%
//jsp
}
//jsp
%>
<hr>
<h2> JSP 코드 사용 </h2>
<table border="1">
<%
for(int i=0;i<5;i++){
%>
<tr>
<td><%=i+1 %></td>
<td><%=arr[i] %></td>
</tr>
<%
}
%>
</table>
<hr>
<h2> HTML 코드 사용 </h2>
<table border="1">
<tr>
<td>1</td>
<td>JAVA</td>
</tr>
<tr>
<td>2</td>
<td>JSP</td>
</tr>
<tr>
<td>3</td>
<td>JS</td>
</tr>
<tr>
<td>4</td>
<td>WEB</td>
</tr>
<tr>
<td>5</td>
<td>DB</td>
</tr>
</table>
</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>testForm2.jsp</h1>
<fieldset>
<form action="testPro2.jsp" method="get">
이름 : <input type="text" name="name"><br>
나이 : <input type="text" name="age"><br>
<hr>
성별 : <input type="radio" name="gender" value="남성">남성
<input type="radio" name="gender" value="여성">여성<br>
취미 : <input type="checkbox" name="hobby" value="게임"> 게임
<input type="checkbox" name="hobby" value="운동"> 운동
<input type="checkbox" name="hobby" value="영화"> 영화<br>
과목 :
<select name="subject">
<option value="">과목을 선택하세요.</option>
<option value="JAVA">JAVA</option>
<option value="JSP">JSP</option>
<option value="WEB">WEB</option>
<option value="DB">DB</option>
</select>
<hr>
<input type="submit" value="전송">
</form>
</fieldset>
</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> testPro2.jsp </h1>
전달정보 출력(파라메터) <br>
<%
// 폼태그 정보전송(post) -> 한글처리 (인코딩설정)
request.setCharacterEncoding("UTF-8"); // UTF-8 : 한글을 표현할 수 있는 인코딩 중 하나
//UTF-8을 가지고 문자 인코딩을 설정하는 메서드동작을 설정한다.
String name = request.getParameter("name");
int age = Integer.parseInt(request.getParameter("age"));
String gender = request.getParameter("gender");
// String hobby = request.getParameter("hobby");
String[] hob = request.getParameterValues("hobby");
%>
이름 : <%=name %><br>
이름+100 : <%=name+100 %><br>
나이 : <%=age %><br>
나이+100 : <%=age+100 %><br>
성별 : <%=gender %><br>
<%-- <% 취미 : <%=hob[0] %><br> --%>
<%-- 취미 : <%=hob[1] %><br> --%>
<%-- 취미 : <%=hob[2] %><br> %> --%>
<%
if(hob != null){ // 배열이 있을때
for(int i=0;i<hob.length;i++){
%>
취미 : <%=hob[i] %><br>
<%
}
}
%>
<%
String subject = request.getParameter("subject");
%>
과목 : <%=subject %><br>
</body>
</html>
⇒ 배열이 없기 때문에 배열의 길이를 측정할 수 없음.
⇒ 배열이 있을때만 실행할 수 있도록 만들기
- 배열이 있을때 ⇒ if문 추가
<%
if(hob != null){ // 배열이 있을 때, 배열이 null이 아닐때 반복문 실행
for(int i=0; i<hob.length; i++) {
%>
취미 :<%=hob[i] %><br>
<%
}
}
%>
'JSP·Servlet' 카테고리의 다른 글
[JSP] 파일 업로드 (0) | 2023.09.21 |
---|---|
[JSP] 쿠키(Cookie) (0) | 2023.09.18 |
[JSP] 영역 객체 (0) | 2023.09.18 |
[JSP] 액션태그, 내장객체 종류와 사용 (0) | 2023.09.18 |
[JSP] JSP 기본문법 (0) | 2023.09.18 |