JSP から別の JSP の呼び出し

複数の JSP から構成されるアプリケーションを作成する場合があります。別のページを呼び出す JSP を記述する場合、呼び出し方法を制御するために次の 2 つの項目について決めておく必要があります。

この例は、前に示した "要求の処理と応答の生成"の例を修正したものです。この例では、入力残高が 100.00 ドル未満の場合に、example2.jsp の JSP により jsp:include アクションが使用されて example2a.jsp が呼び出されます。
example2.jsp から example2a.jsp にパラメータを渡すには、JSP request オブジェクトを使用します。example2.jsp は次のとおりです。

<html>
<head><title>Balance Exmaple</title></head>
<body>
<p>
<h1> Do you have enough?</h1>

<br>
<%-- 要求オブジェクトからパラメータを取得します。--%>
<% String firstName = request.getParameter("fName"); %>
<% String balance = request.getParameter("bal"); %>

<%-- bal パラメータを String から double に変換します。--%>
<% double accountBalance = Double.valueOf(balance).doubleValue(); %>

<%-- 出力結果 --%>
Balance for <%=firstName %>:<%=accountBalance %> <br>

<%-- 残高は十分にあるか? --%>
<% if(accountBalance <= 100.00) { %>
  <% request.setAttribute("needsJob", "true"); %>
  <jsp:include page="example2b.jsp" flush="true"/>
<% } %>

</body>
</html>

入力パラメータは request オブジェクトから JSP example2a.jsp に渡されます。このパラメータに従って、出力が条件付けられます。example2a.jsp の内容は次のとおりです。

<html>
<body>
<p>

<%-- 要求オブジェクトからパラメータを取得します。--%>
<% String jobStatus = (String) request.getAttribute("needsJob"); %>

<%-- 残高は十分にあるか? --%>
<% if("true".equals(jobStatus)) { %>
You need a job.<br><br>
<h2>Available positions include:</h2>
Software Engineer<br>
QA<br>
Technical Writer<br>
<% } %>

</body>
</html>