JSP式
| 日本語 | ジャバ給仕頁式 |
| 英語 | JSP expression |
| ふりがな | じぇいえすぴーしき |
| フリガナ | ジェイエスピーシキ |
JSP内で、HTMLに出力するための記号、もしくはその記号で挟まれた範囲。
「<%=」と「%>」で挟まれた範囲のリテラルや変数は、HTMLへと出力される。
出力できる型は全ての型である。プリミティブ型はそのまま出力され、クラスの場合はtoString()メソッドを呼び出して出力する。
これは、HTMLへの出力はout変数のprint()メソッドで出力されるからである。
つまり「<%= 変数 %>」は、「out.print( 変数 );」へと置き換えられるということである。
逆に言うと、「out.print( 変数 );」とすれば別にJSP式は必要ない。あくまで「簡易に出力するための方法」である。
「JSP式」という名称は、「JSP Expression」という英語の訳であり、その機能から考えるとあまり正しくない。
名称は気にせず「HTMLに出力する記号」と考えた方がいいだろう。
「<%=」と「%>」で挟まれた範囲のリテラルや変数は、HTMLへと出力される。
出力できる型は全ての型である。プリミティブ型はそのまま出力され、クラスの場合はtoString()メソッドを呼び出して出力する。
これは、HTMLへの出力はout変数のprint()メソッドで出力されるからである。
つまり「<%= 変数 %>」は、「out.print( 変数 );」へと置き換えられるということである。
逆に言うと、「out.print( 変数 );」とすれば別にJSP式は必要ない。あくまで「簡易に出力するための方法」である。
「JSP式」という名称は、「JSP Expression」という英語の訳であり、その機能から考えるとあまり正しくない。
名称は気にせず「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式で出力します。 --%>
<%= "テスト。" %>
<%= "<br>" %>
<%-- 全てのプリミティブ型を出力できます。 --%>
<%= 100 %>
<%= "<br>" %>
<%-- クラスはtoString()メソッドが呼ばれます。 --%>
<%= ( new Object() ) %>
<%= "<br>" %>
<%
// スクリプトレットで宣言した変数を使うこともできます。
int i = 200;
%>
<%= i %>
<%= "<br>" %>
<%
// ただし、スクリプトレット内で使うことはできません。
// <%= "test" %>
// (注:↑試す時にはコメントを取り除き<と>を半角にしてください。
// コンパイルエラー:
// org.apache.jasper.JasperException: JSPのクラスをコンパイルできません
//
// JSPファイル: /sample.jsp の中の行: 36でエラーが発生しました
//
// 生成されたサーブレットのエラーです:
// [javac] Compiling 1 source file
//
// D:\Java\Tomcat 4.1\work\Standalone\localhost\sample-servlet\sample_jsp.java:77: 式の開始が不正です。
// <%= "test"
// ^
%>
<%-- 出力結果 --%>
<%--
テスト。
100
java.lang.Object@18f7701
200
--%>
</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式で出力します。 --%>
<%= "テスト。" %>
<%= "<br>" %>
<%-- 全てのプリミティブ型を出力できます。 --%>
<%= 100 %>
<%= "<br>" %>
<%-- クラスはtoString()メソッドが呼ばれます。 --%>
<%= ( new Object() ) %>
<%= "<br>" %>
<%
// スクリプトレットで宣言した変数を使うこともできます。
int i = 200;
%>
<%= i %>
<%= "<br>" %>
<%
// ただし、スクリプトレット内で使うことはできません。
// <%= "test" %>
// (注:↑試す時にはコメントを取り除き<と>を半角にしてください。
// コンパイルエラー:
// org.apache.jasper.JasperException: JSPのクラスをコンパイルできません
//
// JSPファイル: /sample.jsp の中の行: 36でエラーが発生しました
//
// 生成されたサーブレットのエラーです:
// [javac] Compiling 1 source file
//
// D:\Java\Tomcat 4.1\work\Standalone\localhost\sample-servlet\sample_jsp.java:77: 式の開始が不正です。
// <%= "test"
// ^
%>
<%-- 出力結果 --%>
<%--
テスト。
100
java.lang.Object@18f7701
200
--%>
</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式で出力します。 --%>
<%= "テスト。" %>
<%= "<br>" %>
<%-- 全てのプリミティブ型を出力できます。 --%>
<%= 100 %>
<%= "<br>" %>
<%-- クラスはtoString()メソッドが呼ばれます。 --%>
<%= ( new Object() ) %>
<%= "<br>" %>
<%
// スクリプトレットで宣言した変数を使うこともできます。
int i = 200;
%>
<%= i %>
<%= "<br>" %>
<%
// ただし、スクリプトレット内で使うことはできません。
// <%= "test" %>
// (注:↑試す時にはコメントを取り除き<と>を半角にしてください。
// コンパイルエラー:
// org.apache.jasper.JasperException: JSPのクラスをコンパイルできません
//
// JSPファイル: /sample.jsp の中の行: 36でエラーが発生しました
//
// 生成されたサーブレットのエラーです:
// [javac] Compiling 1 source file
//
// D:\Java\Tomcat 4.1\work\Standalone\localhost\sample-servlet\sample_jsp.java:77: 式の開始が不正です。
// <%= "test"
// ^
%>
<%-- 出力結果 --%>
<%--
テスト。
100
java.lang.Object@18f7701
200
--%>
</body>
</html>




