スクリプティング
スクリプティングとは、JSPの中にJavaプログラムを記述する仕組みです。次のような書式があります。
宣言の書式 |
---|
<%! 変数やメソッドの宣言 %> |
変数や配列を宣言したり、関数を定義したりすることができます。
式の書式 |
---|
<%= 式 %> |
式を評価して文字列として扱います。
スクリプトレットの書式 |
---|
<% プログラム %> |
Javaプログラムを記述します。
○ ファイル
次のJSPファイルをプロジェクトに追加してください。
ファイル名 | Scripting.jsp.jsp |
---|
○ プログラム
次のようにプログラムを入力してください。
PageDirective.jsp
- <%@ page language="java" contentType="text/html; charset=UTF-8"
- pageEncoding="UTF-8"%>
- <%! String[] fruits = {"りんご", "ばなな", "みかん", "もも", "なし"}; %>
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="UTF-8">
- <title>スクリプティングテスト</title>
- </head>
- <body>
- <% for(String f : fruits){ %>
- <%= f %><br>
- <% } %>
- </body>
- </html>
○ 実行結果
http://localhost:8080/WebApp/Scripting.jsp
○ 解説
今回のサンプルでは3行目で配列を初期化しています。そして11行目から13行目で、拡張For文で繰り返しを指定しています。そしてその繰り返しの中(12行目)で、配列の各要素を書き出しています。
次に関数を宣言して利用してみましょう。
○ ファイル
次のJSPファイルをプロジェクトに追加してください。
ファイル名 | Scripting2.jsp |
---|
○ プログラム
次のようにプログラムを入力してください。
IncludeDirective.jsp
- <%@ page language="java" contentType="text/html; charset=UTF-8"
- pageEncoding="UTF-8"%>
- <%!
- int max(int num1, int num2){
- if(num1 > num2){
- return num1;
- }else{
- return num2;
- }
- }
- %>
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="UTF-8">
- <title>スクリプティングテスト2</title>
- </head>
- <body>
- 10と20のうち大きい数字は<%= max(10,20) %>です。
- </body>
- </html>
○ 実行結果
http://localhost:8080/WebApp/Scripting2.jsp
○ 解説
今回のサンプルでは、3行目から11行目までで、2つの数値を受け取って大きな値を返すmax関数が定義されています。そして、19行目でmax関数を呼び出し、その結果を出力しています。