JSP 코드 설명
- JSP 코드는 HTML 페이지와 비슷하고 부분적으로 Java 코드를 포함한다.
- 하나 이상의 Java 문장을 포함하는 스크립틀릿(scriptlet)을 작성하기 위해서 <% 와 %> 태그를 사용한다.
- 문자열로 변환되는 표현식(expression)을 출력하기 위해서 <%= 와 %> 태그를 사용한다.
- JSP 페이지 안에서 암묵적인 요청 객체(implicit request object)를 사용할 수 있고, request 라고 불린다.
When you code a JSP, you can use the implicit request object. This object is named request.
request 객체의 getParameter 메소드는 JSP로 전달되는 파라미터의 값을 얻는데 사용된다.
스크립틀릿(scriptlet) & 표현식(expression) 문법
스크립틀릿 문법
<% Java statements %>
표현식 문법
<%= 문자열로 변경될 수 있는 Java 표현식 %>
request 객체로부터 인자 값을 받는 식
request.getParameter( parameterName );
스크립틀릿 & 표현식 사용 예
파라미터 값을 화면에 출력하는 스크립틀릿 & 표현식 예
<% String firstName = request.getParameter("firstName"); %>
The first name is <%= firstName %>.
파라미터 값을 화면에 출력하는 표현식 예
The first name is <%= request.getParameter("firstName") %>.
HTML 라인을 5회 출력하는 스크립틀릿 & 표현식 예
<%
int numOfTimes = 1;
while (numOfTimes <= 5) {
%>
This line is shown <%= numOfTimes %> of 5 times.
<%
numOfTimes++;
}
%>
스크립틀릿 & 표현식 요약
- 스크립틀릿(scriptlet) 안에 하나 이상의 Java 구문(statement)을 작성할 수 있다.
- 스크립틀릿 안에 들어 가는 문장은 Java 구문이기 때문에 각 문장을 세미콜론으로 마무리 해야 한다.
- JSP 표현식은 연산을 수행한 후 결과값이나 변수의 값을 정해진 위치에 표현할 수 있다.
- JSP 표현식 안에는 원시(primitive) 타입이나 toString 메소드를 가지고 있는 객체가 위치한다.
- JSP 표현식은 문자열로 변환되는 표현식이기 때문에 세미콜론을 붙이지 않는다.
request 객체의 메소드
체크 박스의 체크여부를 확인하는 스크립틀릿 예
<% String rockCheckBox = request.getParameter("Rock");
// 체크된 경우에 “on” 또는 체크 박스의 값(value)를 리턴하고,
// 체크되지 않은 경우에는 null을 리턴한다.
if (rockCheckBox != null){
%>
You checked Rock music!
<% }
%>
리스트 박스의 다중 선택 값을 확인하는 스크립틀릿 예
<% String\[\] selectedCountries = request.getParameterValues("country");
// 리스트 박스에서 선택된 항목들의 값(value)을 String 배열 타입으로 리턴한다.
for (int i = 0; i < selectedCountries.length; i++){
%>
<%= selectedCountries\[i\] %>
<% }
%>
모든 파라미터의 이름과 값을 확인하는 스크립틀릿 예
<% Enumeration parameterNames = request.getParameterNames();
while ( parameterNames.hasMoreElements() ){
String parameterName = (String)parameterNames.nextElement();
String parameterValue = request.getParameter(parameterName);
%>
<%= parameterName %> has value <%= parameterValue %>. <br>
<%
}
%>
request 객체의 메소드 요약
- 그룹에서 선택된 라디오 버튼이나 콤보 박스에서 선택된 항목의 값을 리턴하기 위해서 getParameter 메소드를 사용한다.
- 체크 박스에서 선택된 항목의 값을 리턴하기 위해서도 사용된다. 단, 선택된 항목이 없으면 null이 리턴된다.
- 라디오 버튼이나 체크 박스에 value 속성이 없고 특정 항목이 선택된 경우에는 “on”을 리턴한다.
JSP 페이지 호출
- HTML form에서 GET 방식으로 JSP를 호출하면 파라미터는 URL에 덧붙여진다.
- JSP 페이지를 호출하기 위해 URL을 입력할 때 물음표(?) 다음에 파라미터 목록을 더할 수 있다. 각 파라미터는 이름, 등호(=), 값으로 이루어진다.
- 여러 개의 파라미터를 사용하려면 앰퍼샌드 기호(&)로 각각의 파라미터를 분리한다.
POST 메소드를 이용한 JSP 호출
POST 메소드를 사용하기 위한 HTML form 태그
<form action="add.jsp" method="post">
GET 메소드를 사용하는 경우
- 가능한 한 빠르게 데이터를 전송하기 원하는 경우
- 4KB 보다 적은 데이터를 보내는 경우
- 파라미터가 URL에 표시되어도 상관없는 경우
- 사용자가 웹 페이지를 브라우저에 등록(bookmark)할 때 파라미터를 포함하는 경우
POST 메소드를 사용하는 경우
- 4KB가 넘는 데이터를 전송하는 경우
- URL 뒤에 파라미터가 덧붙여지면 안 되는 경우
JSP 태그
'Dev > Servlet&JSP' 카테고리의 다른 글
Servlet & JSP 기초 와 실습(MVC 2) (0) | 2021.10.08 |
---|---|
Servlet & JSP 기초 와 실습(MVC 1) (0) | 2021.10.08 |
Servlet & JSP 기초 알아가기 1 (0) | 2021.10.07 |