하나 이상의 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을 입력할 때 물음표(?) 다음에 파라미터 목록을 더할 수 있다. 각 파라미터는 이름, 등호(=), 값으로 이루어진다.