Interstage Application Server J2EE ユーザーズガイド
目次 索引 前ページ次ページ

第2部 Servlet/JSP編> 第7章 Webアプリケーションの開発> 7.3 JSPの開発

7.3.1 ビジネスロジックの埋め込み

 JSPでは、ビジネス(アプリケーション)ロジックとプレゼンテーションロジックとを分離することができます。
 ビジネスロジックはサーブレットやJavaBeansに任せ、JSPはプレゼンテーションロジックを担当します。

 ビジネスロジックは、以下の2とおりの方法で埋め込むことができます。

■Java言語の埋め込み

 JSPにサーブレットと同等の処理を埋め込みます。"<%"と"%>"の中に記述します。

------------------------------------------------------------------------------------
  <HTML>
  ・・・
  <BODY>
  <%
  for(counter=0; counter<5; counter++) {
      out.println(counter+"<BR>");
  }
  %>
  ・・・
------------------------------------------------------------------------------------

■JavaBeansの呼び出し

 JavaBeansを開発し、JSPからはJavaBeansを呼び出します。

 JavaBeansを呼び出す場合に使用するタグについて説明します。
 なお、その他にも指定可能な属性があります。
 タグの記述形式や属性の詳細については、JavaServer PagesTM Specification Version 1.2を参照してください。

タグ名

説明

<jsp:useBean>

JavaBeansのインスタンスを生成します。
以下の属性を指定します。

  • id属性
    JSPファイルの中で使用するインスタンス名を指定します。
  • class属性
    JavaBeansのクラス名を指定します。
  • scope属性
    インスタンスの有効範囲を指定します。
    page、request、session、applicationから選択します。

<jsp:getProperty>

インスタンスが持っているプロパティの値(インスタンス変数に設定されている値)を取り出して、ブラウザに表示します。
以下の属性を指定します。

  • name属性
    インスタンス名を指定します。
  • property属性
    プロパティ名(インスタンス変数名)を指定します。

<jsp:setProperty>

インスタンスが持っているプロパティの値(インスタンス変数に設定されている値)を設定します。
以下の属性を指定します。
param属性とvalue属性はどちらかを指定します。

  • name属性
    インスタンス名を指定します。
  • property属性
    プロパティ名(インスタンス変数名)を指定します。
    "*"を指定した場合は、Webブラウザから送信されたすべてのパラメタの値を設定します。
  • param属性
    <form>タグから入力された値を設定する場合にパラメタ名を指定します。
  • value属性
    設定する値を指定します。

■サンプル

 JavaBeansを呼び出す簡単なサンプルを以下に示します。

[sample.jsp]

------------------------------------------------------------------------------------
  <HTML>
  ・・・
  <BODY>
  <jsp:useBean id="sample" scope="request" class="MyApp.AccessName"/>
  ・・・
  <jsp:setProperty name="sample" property="name" value="TARO"/>
  ・・・
  <jsp:getProperty name="sample" property="name"/>
  ・・・
------------------------------------------------------------------------------------

[AccessName.java]

------------------------------------------------------------------------------------
  package MyApp;
  public class AccessName {
  ・・・
    String name;
    public AccessName() {
    }
    public String getName() {
      return name;  }
    public void setName(String inputname) {
      name = inputname;  }
  }
------------------------------------------------------------------------------------

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

All Rights Reserved, Copyright(C) 富士通株式会社 2005