– <% 〜 %> で囲んだ部分は全体で1つのメソッドのように Java コードが書ける.
<body>
<%
out.println(“Hello, world!”);
%>
</body>
– <%= 〜 %> で囲んだ部分は一つの式として評価され、戻り値をその部分に表示する( つまり void は不可)。複文になってはならないため、セミコロンは用いない。
Your name is <%= name %>
– <%! 〜 %> で囲んだ部分はクラス内の定義とみなす
<%!
private static final int FOO = 1;
private void final doSomething(String value){ /* do something */ }
%>
– <%@ 〜 %> で囲んだ部分は JSP の制御タグとする
<%@ page contextType="text/html; charset=EUC-JP" %>
<%@ page import="java.sql.*" %>
<%@ page import="java.util.*" %>
– JSP のインクルード構文:
— <jsp:include page=”foo.jsp” /> – 対象のページを 別に実行して, 結果を動的に(コンパイル後に)インクルードする。ローカル変数, request パラメータはファイルごとに独立になる。
view.jsp:
<body>
Hi, <jsp:include page=”inc.jsp”/>.
</body>
inc.jsp:
<%= "John" %>
— <%@ include file = "foo.jsp" %> – 対象のページをそのまま読み込み、静的に(コンパイル時に)インクルードする。ローカル変数は共存になり、インクルード対象(exp. inc.jsp)のファイルが更新されてもインクルード元(ex. foo.jsp)は再コンパイルされないため、全てのインクルード元について明示的に更新してやらなければならない。
view.jsp:
<body>
<%@ include file = "inc.jsp" %>
Hi, <%= name %>.
</body>
inc.jsp:
<% String name = "John"; %>
– 参考:
http://www.javaroad.jp/servletjsp/index.html
– Java の道: Servlet, JSP