スクリプティング

スクリプティングとは、JSPの中にJavaプログラムを記述する仕組みです。次のような書式があります。

宣言の書式
<%! 変数やメソッドの宣言 %>

変数や配列を宣言したり、関数を定義したりすることができます。

式の書式
<%= %>

式を評価して文字列として扱います。

スクリプトレットの書式
<% プログラム %>

Javaプログラムを記述します。

○ ファイル

次のJSPファイルをプロジェクトに追加してください。

ファイル名 Scripting.jsp.jsp

サンプルダウンロード

○ プログラム

次のようにプログラムを入力してください。

PageDirective.jsp

  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2.     pageEncoding="UTF-8"%>
  3. <%! String[] fruits = {"りんご", "ばなな", "みかん", "もも", "なし"}; %>
  4. <!DOCTYPE html>
  5. <html>
  6. <head>
  7. <meta charset="UTF-8">
  8. <title>スクリプティングテスト</title>
  9. </head>
  10. <body>
  11. <% for(String f : fruits){ %>
  12.     <%= f %><br>
  13. <% } %>
  14. </body>
  15. </html>

○ 実行結果

http://localhost:8080/WebApp/Scripting.jsp

実行結果
実行結果

○ 解説

今回のサンプルでは3行目で配列を初期化しています。そして11行目から13行目で、拡張For文で繰り返しを指定しています。そしてその繰り返しの中(12行目)で、配列の各要素を書き出しています。

次に関数を宣言して利用してみましょう。

○ ファイル

次のJSPファイルをプロジェクトに追加してください。

ファイル名 Scripting2.jsp

サンプルダウンロード

○ プログラム

次のようにプログラムを入力してください。

IncludeDirective.jsp

  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2.     pageEncoding="UTF-8"%>
  3. <%!
  4. int max(int num1, int num2){
  5.     if(num1 > num2){
  6.         return num1;
  7.     }else{
  8.         return num2;
  9.     }
  10. }
  11. %>
  12. <!DOCTYPE html>
  13. <html>
  14. <head>
  15. <meta charset="UTF-8">
  16. <title>スクリプティングテスト2</title>
  17. </head>
  18. <body>
  19.     10と20のうち大きい数字は<%= max(10,20) %>です。
  20. </body>
  21. </html>

○ 実行結果

http://localhost:8080/WebApp/Scripting2.jsp

実行結果
実行結果

○ 解説

今回のサンプルでは、3行目から11行目までで、2つの数値を受け取って大きな値を返すmax関数が定義されています。そして、19行目でmax関数を呼び出し、その結果を出力しています。

前へ   次へ