JSP宣言
| 日本語 | ジャバ給仕頁宣言 |
| 英語 | JSP declaration |
| ふりがな | じぇいえすぴーせんげん |
| フリガナ | ジェイエスピーセンゲン |
JSPの中でフィールド及びメソッドを宣言するための記号、及びその記号で挟まれた範囲。
「<%!」と「%>」で挟まれた範囲は、「出力を行うメソッド」の外側とみなされ、フィールド及びメソッドを記述することができる。
JSP宣言内では、JSP暗黙オブジェクトを使用することはできない。
HTMLの出力部分やスクリプトレットは「メソッドの中」であり、JSP暗黙オブジェクトはそのメソッド内のローカル変数として宣言されているためである。
HTMLへの出力等は、out変数をメソッドの引数やフィールドで渡せるようにする必要があるため注意。
「<%!」と「%>」で挟まれた範囲は、「出力を行うメソッド」の外側とみなされ、フィールド及びメソッドを記述することができる。
JSP宣言内では、JSP暗黙オブジェクトを使用することはできない。
HTMLの出力部分やスクリプトレットは「メソッドの中」であり、JSP暗黙オブジェクトはそのメソッド内のローカル変数として宣言されているためである。
HTMLへの出力等は、out変数をメソッドの引数やフィールドで渡せるようにする必要があるため注意。
参考サイト
- (参考サイトはありません)
<%-- webapps/sample-servlet/sample.jsp --%>
<%-- http://localhost:8080/sample-servlet/sample.jsp でアクセスできます。 --%>
<%@ page contentType="text/html; charset=Windows-31J" pageEncoding="Windows-31J" %>
<%--
pageEncodingには、このファイルを保存した時の文字コードを指定してください。
Windowsであれば"Windows-31J"を指定すればいいでしょう。
--%>
<html>
<head>
<title>JSPのサンプル</title>
</head>
<body>
<%!
// ここがJSP宣言内。
// フィールドやメソッドを宣言できます。
/** フィールド。 */
javax.servlet.jsp.JspWriter jspWriter = null;
private void output( String string )
{
try
{
jspWriter.print( string );
jspWriter.println( "<br>" );
}
catch( java.io.IOException e )
{
// print()メソッドやprintln()メソッドの出力で
// 失敗すると例外が投げられます。
e.printStackTrace();
}
// JSP宣言内では、JSP暗黙オブジェクトは使用できません。
// スクリプトレットは「メソッドの中」で、JSP宣言は
// その外になるからです。
// out.println( "test" );
// コンパイルエラー:
// org.apache.jasper.JasperException: JSPのクラスをコンパイルできません
//
// JSPファイル: null の中の行: -1でエラーが発生しました
//
// 生成されたサーブレットのエラーです:
// [javac] Compiling 1 source file
//
// D:\Java\Tomcat 4.1\work\Standalone\localhost\sample-servlet\sample_jsp.java:35: シンボルを解決できません。
// シンボル: 変数 out
// 場所 : org.apache.jsp.sample_jsp の クラス
// out.println( "test" );
// ^
}
%>
<%
// JSP宣言内のフィールドやメソッドは、スクリプトレットから
// アクセスできます。
jspWriter = out;
output( "テスト" );
%>
<%-- 出力結果 --%>
<%--
テスト
--%>
</body>
</html>
<%-- http://localhost:8080/sample-servlet/sample.jsp でアクセスできます。 --%>
<%@ page contentType="text/html; charset=Windows-31J" pageEncoding="Windows-31J" %>
<%--
pageEncodingには、このファイルを保存した時の文字コードを指定してください。
Windowsであれば"Windows-31J"を指定すればいいでしょう。
--%>
<html>
<head>
<title>JSPのサンプル</title>
</head>
<body>
<%!
// ここがJSP宣言内。
// フィールドやメソッドを宣言できます。
/** フィールド。 */
javax.servlet.jsp.JspWriter jspWriter = null;
private void output( String string )
{
try
{
jspWriter.print( string );
jspWriter.println( "<br>" );
}
catch( java.io.IOException e )
{
// print()メソッドやprintln()メソッドの出力で
// 失敗すると例外が投げられます。
e.printStackTrace();
}
// JSP宣言内では、JSP暗黙オブジェクトは使用できません。
// スクリプトレットは「メソッドの中」で、JSP宣言は
// その外になるからです。
// out.println( "test" );
// コンパイルエラー:
// org.apache.jasper.JasperException: JSPのクラスをコンパイルできません
//
// JSPファイル: null の中の行: -1でエラーが発生しました
//
// 生成されたサーブレットのエラーです:
// [javac] Compiling 1 source file
//
// D:\Java\Tomcat 4.1\work\Standalone\localhost\sample-servlet\sample_jsp.java:35: シンボルを解決できません。
// シンボル: 変数 out
// 場所 : org.apache.jsp.sample_jsp の クラス
// out.println( "test" );
// ^
}
%>
<%
// JSP宣言内のフィールドやメソッドは、スクリプトレットから
// アクセスできます。
jspWriter = out;
output( "テスト" );
%>
<%-- 出力結果 --%>
<%--
テスト
--%>
</body>
</html>
<%-- webapps/sample-servlet/sample.jsp --%>
<%-- http://localhost:8080/sample-servlet/sample.jsp でアクセスできます。 --%>
<%@ page contentType="text/html; charset=Windows-31J" pageEncoding="Windows-31J" %>
<%--
pageEncodingには、このファイルを保存した時の文字コードを指定してください。
Windowsであれば"Windows-31J"を指定すればいいでしょう。
--%>
<html>
<head>
<title>JSPのサンプル</title>
</head>
<body>
<%!
// ここがJSP宣言内。
// フィールドやメソッドを宣言できます。
/** フィールド。 */
javax.servlet.jsp.JspWriter jspWriter = null;
private void output( String string )
{
try
{
jspWriter.print( string );
jspWriter.println( "<br>" );
}
catch( java.io.IOException e )
{
// print()メソッドやprintln()メソッドの出力で
// 失敗すると例外が投げられます。
e.printStackTrace();
}
// JSP宣言内では、JSP暗黙オブジェクトは使用できません。
// スクリプトレットは「メソッドの中」で、JSP宣言は
// その外になるからです。
// out.println( "test" );
// コンパイルエラー:
// org.apache.jasper.JasperException: JSPのクラスをコンパイルできません
//
// JSPファイル: null の中の行: -1でエラーが発生しました
//
// 生成されたサーブレットのエラーです:
// [javac] Compiling 1 source file
//
// D:\Java\Tomcat 4.1\work\Standalone\localhost\sample-servlet\sample_jsp.java:35: シンボルを解決できません。
// シンボル: 変数 out
// 場所 : org.apache.jsp.sample_jsp の クラス
// out.println( "test" );
// ^
}
%>
<%
// JSP宣言内のフィールドやメソッドは、スクリプトレットから
// アクセスできます。
jspWriter = out;
output( "テスト" );
%>
<%-- 出力結果 --%>
<%--
テスト
--%>
</body>
</html>




