Apdesigner プログラマーズガイド
目次 索引 前ページ次ページ

第2部 アプリケーション開発編> 第2章 Webアプリケーションを開発する> 2.3 JSPタグについて

2.3.2 スクリプト要素

スクリプト要素は、JSPページ内にサーバ上で実行される手続きを記述するもので、Java言語の構文を使用して記述します。
スクリプト要素内では、jsp:useBeanで定義したアプリケーションオブジェクトまたは暗黙オブジェクトを使用することができます。

スクリプト要素は、ページ内の必要な箇所に複数記述することができます。

++変数宣言タグ <%! 変数宣言またはメソッド宣言 %>

変数宣言タグは、ページ内のJava式やスクリプトレットで使用する変数、メソッドの宣言に使用します。タグ内の記述は、Java言語の構文にしたがいます。

例:

<%!
    int count = 0;
    protected int getCount() { return count++; }
%>
<%! int count = 0;  %>
<%! int count, user, passwd; %>

jsp:useBeanで定義したオブジェクト(ID)、暗黙オブジェクトおよびServlet APIについては、この宣言なしで使用することができます。

++Javaコードタグ <% スクリプトレット %>

Javaコードタグでは、スクリプトレットを記述します。スクリプトレットは、Java言語の構文で記述します。
スクリプトレットを使用して、jsp:useBeanで定義したオブジェクト(アプリケーション)の実行や、Java式タグに使用される変数への代入、クライアントに出力するHTMLデータの切り替えなどを行うことができます。

例:

<%
    String text = getParameter(request, "text");
    session.setAttribute("text", text);
    if (text == null) {
      nextPage = "jsp02Error.jsp";
    }
%>

<%
    if (Myapp.getUserID() == null)
    {
%>
<BR><FONT COLOR="#ff0000">認証失敗</FONT>
<%
    }
%>

スクリプトレットでは、jsp:useBeanで定義したオブジェクト(ID)および暗黙オブジェクトも使用可能です。

HTMLタグ、JSPタグ内では、Javaコードタグを使用することはできません。タグ属性値を動的に変更する場合は、Java式タグを使用してください。

++Java式タグ <%= 式 %>

Java式タグで記述した式は、String型の値に変換されてクライアントに送信されます。

例:

<%= new java.util.Date() %>

<jsp:forward page="<%= nextPage %>">

Total : <%= count1 + count2 %>

Java式タグでは、jsp:useBeanで定義したオブジェクト(ID)および暗黙オブジェクトも使用できます。

式は1行で記述します。文の終わりを示すセミコロン(;)は指定しないでください。

++コメント <%-- コメント --%>

クライアントに送信されないコメントです。実行時には何も意味をもちません。

例:

<%--  This is a comment.  --%>

++暗黙オブジェクト

以下のオブジェクトは、事前の定義なしにスクリプトレットと式で利用できます。
スコープは、Beanのインスタンスおよび変数が有効な範囲を指定します。

変数名

スコープ

オブジェクトの型

application

application

ServletContext

config

page

ServletConfig

exception

page 注)

Throwable

out

page

JspWriter

page

page

Object

pageContext

page

PageContext

request

request

ServletRequest

response

page

ServletResponse

session

session

HttpSession

注) errorPageでだけ有効です。

例:スクリプトレットでの使用

<%
    String text = getParameter(request, "text");
    session.setAttribute("text", text);
    if (text == null) {
      nextPage = "jsp02Error.jsp";
    }
%>

++引用とエスケープの規約

以下の引用規約がJSPページに適用されます。


目次 索引 前ページ次ページ

All Rights Reserved, Copyright (C) 富士通株式会社 1998-2006