ㄴ 폼은 우리가 폼잡고있네~ 할 때 그 폼임!
형태,틀 이라고 보면 좋을듯

라고 영어 사전은 말했는뎅
구성되다 형성시키다..? 가 맞는 말인듯 ㅜㅜ
form : 데이터를 전송할 태그
action(= 속성) : 데이터를 보낼 페이지를 지정
<form action="ex04_result.jsp">
<!-- 이제 이 주소로 날라가는 거심--!>
<p><input name="name" type="text" placeholder="이름 입력"></p>
<p><input name="age" type="number" placeholder="나이 입력"></p>
<button type="submit">전송</button>
</form>
-----------------------------------
틀은 이런데 이제 저것들이 뭐고 어떤 역할이 있는지
눈치빠른 어린이들은 알았겠지만(나) 정답이 궁금하니 풀이? !
1. 새로만들 ex04_result.jsp 페이지로
ex04.jsp 페이지를
form action을 사용하여 보내버림
2. input은 데이터를 입력 받을 칸을 생성해줌
*그리고 옵션들 종류가 많지만 일단 위에서 쓴 것들은
- name(= 속성) : 입력한 데이터가 저장될 이름
- type(= 속성) : 입력 받을 데이터를 지정.
ㄴ text 가 기본으로 모든 숫자와 문자를 받음
ㄴ text 는 생략되어도 기본 text값이 들어감
ㄴ number 을 입력하면 숫자만 받는다는 말임
- placeholder(= 속성) : input에 입력이 없을 때 회색처럼 미리보여주는 용도.
ㄴ 무엇을 작성할지 예시를 보여주는 용도
아래의 사진으로 어떤건지 보여주겠음...요..다
1) 입력하는 창을 생성한 모습
2) 입력한 값이 주소창이 띄워지는 모습
ㄴ 주소창 띄워지는 것을 확인하고 부가설명함
1)

2)

: 1번에서 입력을 하고 전송을 누르면
주소창에 2번처럼 나온다
뭔지모르지만 ? 를 붙이고
name="값"
&(엔퍼센트)를 쓰는데 ,(콤마)를 사용할 수 없어 대체함
agg="값" 을 받음
그리고 이러한 우리가 입력한 값을
parameter 이라고 한다
아까 만들었던 result.jsp 소스코드파일로 들어가보자
ex03.jsp에서 전송된 데이터(= 파라미터)는
요청(= request)에 담겨져있다
-JSP는 요청을 처리하기 위해
이미 request라는 객체가 생성되어 있다(= 내장객체)
// request는 요청객체임
// parameter의
// 이름은 name, age 이고
// 값은 홍길동, 24임
<%
우선 request라는 객체를 사용하기 위해서
어떻게 쓰는지를 알아야 하겠징..?(말투왜이럼)
request.getp 까지 입력하고
ctrl + space를 눌리면 자동완성이 뜨는데
request.getParameter(String) 을 찾아서 눌려주자
이 문구위에 마우스를 올리면
String javax.servlet.servletRequest.getParameter(String name) 이라고 뜨는데
중간에 긴것들이 많지만 줄여서 보면
String getParameter(String name) 이란것이다
- 의미는
- 문자열로 파라미터 이름을 전달하면,
- 저장된 값을 문자열로 반환한다 라는 말이다
※ 이것 유튭에서 본 강의 내용에 나온거지만...
뭘 반환해서 문자열을 사용해야할지 모르겠을땐
그 문구에 마우스를 올리면 자료형이 뜬다고 한다
String age = request.getParameter("age");
%>
-------------------------------------------------------
그리고 우리가 위의 1) 에서 입력한 내용을
다음 페이지에서 결과를 보이게 하는 것을
JSP로 보여야 하니까
<% %> 내용을 더하여
<h1>결과</h1>
<hr>
<ul>
<li>이름 : <%=name %></li>
<li>나이 : <%=age %></li>
</ul>
<a href="ex04.jsp">
<button>ex04</button>
</a>

이런 식으로 내용이 출력된다
(ex01은 적을때 ex01로 적어둬서 그럼 ㅠ)
퀴즈라고 하지만 내가 이미 푼거니 퀴즈는 아니고
퀴즈풀이같은거임!
문제는_
실행부(scriptlet)을 활용해서 구구단 5단을 출력한다.
단, x1 ~ x9까지만
테이블 형태로 출력할 것
<style>
table {
border-collapse: collapse;
}
th, td {
border: 1px solid black;
padding: 10px;
}
</style>
<table>
<tr>
<th>구구단</th>
<th>결과</th>
</tr>
<% for (int i = 1; i <= 9; i++) { %>
<tr>
<td>5 x <%i %></td>
<td><%=5 * i %></td>
</tr>
<% } %>
</table>

요번에는 난이도를 좀 올라감
<style>
input { width: 70px; }
</style>
<h4>전달한 두 수의 합계를 quiz2_result.jsp에 출력하라</h4>
<form action="quiz2_result.jsp">
<input name="n1" type="number">
+
<input name="n2" type="number">
<button>=</button>
</form>

이렇게 나옴
저기에 첫번째 수 라고 적힌 것은
input에 속성으로 placeholder="첫번째 수" 라고
옵션을 줘서 나오는거임
<%
String sn1 = request.getParameter("n1");
String sn2 = request.getParameter("n2");
// - 파라미터가 없는 경우는 null을 반환시킨다
if (sn1 == null || sn2 == null) {
sn1 = sn2 = "0";
}
// null을 parseInt()에 집어넣으면 예외 발생
int n1 = Integer.parseInt(sn1);
int n2 = Integer.parseInt(sn2);
%>
+++++ 여기서 잠깐! String은 래퍼클래스 / 인트는 프
<h1>결과</h1>
<hr>
<ul>
<li>n1 = <%=n1 %></li>
<li>n2 = <%=n2 %></li>
<li>n1 + n2 = <%=n1 + n2 %></li>
</ul>
<a href="quiz2.jsp">
<button>quiz2</button>
</a>

일단 대충 마무리 지어두고
직접 코드를 연습하는 시간을 가지는 것이 좋겠다
&(ampersand: 앰퍼샌드)