スクリプト要素


1.スクリプト要素


JSPの스크립트 요소は3種類あります.
  • スクリプト(Scriptlet)
  • 声明
  • 스크립트 요소는 JSP 프로그래밍에서 로직을 수행하는 데 필요하다.スクリプトコードを使用して、プログラムが実行する必要がある機能を実装できます.

    2.スクリプトツリー

    스크립트릿(Scriptlet)は、JSPページでjavaコードを実行する際に使用されるコードブロックである.スクリプトには、次の構文構造があります.
    <%
        자바코드1;
        자바코드2;
        자바코드3;
        ....
    %>
    スクリプトのコードブロックは「<%」から始まり、「%>」で終わり、「<%」と「%>」の間に実行するjavaコードがあります.たとえば、次のスクリプトを使用して、1~10を求めるJSPページを作成できます.
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>1부터 10까지의 합</title>
    </head>
    <body>
    <%
        int sum = 0;
        for (int i = 0; i <= 10; i++){
            sum = sum + i;
        }
    %>
    1부터 10까지의 합은 <%= sum %>입니다.
    </body>
    </html>
    実行結果は次のとおりです.

    2.式

    표현식(Expression)は、出力結果に値を含めるために使用される.
    式の構文は次のとおりです.
    <%=%>
    式は「<%=」で始まり、「%>」で終わり、この2つの値の間に出力する値があります.上記の例では、1から10の和をsumという変数に格納し、その変数の値を出力するために<%=sum>という式を用いた.
    上記の例では、式の値の一部に変数が含まれていますが、数値や文字列などの式で値を使用することもできます.
    たとえば、式の値セクションで1~10の和を直接計算して値を生成できます.
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>1-10까지의 합:표현식만 사용</title>
    </head>
    <body>
    1부터 10까지의 합은
    <%= 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10%>
    </body>
    </html>
    実行結果は次のとおりです.

    3.宣言


    JSPページのスクリプトまたは式で使用可能なメソッドを作成する場合は、宣言子(declaration)を使用します.宣言には次の構文があります.
    <%!
        public 리턴타입 메서드이름(파라미터목록){
            자바코드1;
            자바코드2;
            ...
            자바코드n;
            return;
        }
    %>
    宣言子の関数はjavaのメソッドと同じで、各要素には次の意味があります.
  • 戻りタイプ:メソッド実行結果値のタイプを指定します.
  • メソッド名:メソッドの名前を表します.
  • パラメータリスト:カンマで区切られたパラメータリストを指定します.パラメータはメソッドで使用される変数です.
  • javaコード1-n:メソッド内で実行されるjavaコード.
  • 戻り値:メソッドの実行結果を返します.
  • 次の例を示します.次の例では、宣言子を使用して2つの整数の積を計算する例を示します.
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <%!
        public int multiply(int a, int b){
            int c = a * b;
            return c;
        }
    %>
    <html>
    <head>
        <title>선언부를 사용한 두 정수값의 곱</title>
    </head>
    <body>
    
    10 * 25 = <%= multiply(10, 25)%>
    
    </body>
    </html>
    上記の例では、宣言で定義したメソッド乗算を使用して、2つの数値を乗算した結果を出力し、使用するメソッドを「呼び出しメソッド」と表します.
    宣言で定義されたメソッドの戻りタイプメソッドの結果値がどのタイプであるかを指定します.Javaはすべての値をタイプに分類します.たとえば、整数値はintタイプ、longタイプ、shortタイプなど、小数点を表す実数値はdoubleタイプ、floatタイプなどとなります.上記の例ではmultiplyメソッドの戻りタイプを整数タイプの1つであるintとして指定します.
    メソッド名は、メソッドを区別するために使用されます.メソッド名を乱すことはできません.ルールに従ってメソッド名を命名する必要があります.そのルールは以下の通りです.
  • メソッド名の最初の文字は、文字(アルファベット、ハングルなど)または下線(")で始まる必要があります.
  • の最初の文字を除いて、残りはアルファベット、数字、下線の組み合わせでなければなりません.
  • メソッド名は大文字と小文字を区別します.
  • パラメータはメソッド内で変数として使用されます.上記の例では、メソッドパラメータとして指定されたaおよびbを変数として使用します.メソッドを呼び出すと、渡された値がパラメータに渡されます.
    メソッドを呼び出すと、指定した値の順序によってメソッド宣言にリストされたパラメータの値が決まります.すなわち、上記の例に示すように、第1の値として入力された10は、マルチメソッドの第1のパラメータaに割り当てられる.同様に、2番目の値を入力する25はmultiplyの2番目のパラメータbに割り当てられる.
    実行結果は次のとおりです.

    式だけでなく、宣言で定義したメソッドもスクリプトで使用できます.次の例は、スクリプトで宣言で定義したメソッドを使用する例です.
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <%!
        public int add(int a, int b){
            int c = a + b;
            return c;
        }
    
        public int substract(int a, int b){
            int c = a - b;
            return c;
        }
    %>
    <html>
    <head>
        <title>스크립트릿에서 선언부 사용하기</title>
    </head>
    <body>
    <%
        int value1 = 3;
        int value2 = 9;
    
        int addResult = add(value1, value2);
        int substractResult = substract(value1, value2);
    %>
    
    <%=value1%> + <%=value2%> = <%=addResult%>
    <br>
    <%=value1%> - <%=value2%> = <%=substractResult%>
    
    </body>
    </html>
    実行結果は次のとおりです.

    リファレンス
  • 崔凡均のJSP 2.3 Webプログラミング