プログラミング
 Computer >> コンピューター >  >> プログラミング >> プログラミング

JSPのjsp:setPropertyアクションの使い方をわかりやすく解説

setPropertyアクションは、Beanのプロパティを設定するためのアクションです。このアクションを使用する前に、対象となるBeanがあらかじめ定義されている必要があります。setPropertyアクションには、主に2つの基本的な使い方があります。

1つ目は、jsp:useBean要素の後ろ、かつ要素の外側にjsp:setPropertyを記述する方法です。

<jsp:useBean id = "myName" ... />
...
<jsp:setProperty name = "myName" property = "someProperty" .../>

この場合、新しいBeanがインスタンス化されたか、既存のBeanが見つかったかに関わらず、jsp:setPropertyは必ず実行されます。

2つ目は、jsp:useBean要素のボディ内にjsp:setPropertyを記述する方法です。

<jsp:useBean id = "myName" ... >
   ...
   <jsp:setProperty name = "myName" property = "someProperty" .../>
</jsp:useBean>

この場合、新しいオブジェクトがインスタンス化されたときにのみjsp:setPropertyが実行され、既存のオブジェクトが見つかった場合には実行されません。

以下の表は、setPropertyアクションで使用できる属性の一覧です。

番号属性と説明
1name
プロパティを設定する対象のBeanを指定します。このBeanは事前に定義されている必要があります。
2property
設定したいプロパティを指定します。「*」を指定すると、Beanのプロパティ名と一致するすべてのリクエストパラメータの値が、対応するセッターメソッドに渡されます。
3value
指定したプロパティに代入する値です。パラメータの値がnullの場合や、パラメータ自体が存在しない場合は、setPropertyアクションは無視されます。
4param
プロパティが値を受け取るリクエストパラメータの名前を指定します。valueとparamを同時に指定することはできませんが、どちらも指定しないことは可能です。

実装例

まず、例で使用するテスト用のBeanを定義します。

/* ファイル名: TestBean.java */
package action;

public class TestBean {
    private String message = "No message specified";

    public String getMessage() {
        return(message);
    }

    public void setMessage(String message) {
        this.message = message;
    }
}

上記のコードをコンパイルしてTestBean.classファイルを生成し、C:\apache-tomcat-7.0.2\webapps\WEB-INF\classes\actionフォルダにコピーしてください。また、CLASSPATH環境変数にもこのフォルダのパスを設定しておく必要があります。

次に、main.jspファイルに以下のコードを記述します。このコードはBeanをロードし、文字列パラメータの設定(set)と取得(get)を行います。

<html>
    <head>
        <title>Using JavaBeans in JSP</title>
    </head>
    <body>
        <center>
            <h2>Using JavaBeans in JSP</h2>
            <jsp:useBean id = "test" class = "action.TestBean" />
            <jsp:setProperty name = "test" property = "message" value = "Hello JSP..." />
            <p>Got message....</p>
            <jsp:getProperty name = "test" property = "message" />
        </center>
    </body>
</html>

main.jspにアクセスすると、以下の結果が表示されます。

実行結果

Got message....
Hello JSP...
  1. AndroidでACTION_MOVE(タッチ移動)イベントを使う方法|サンプルコード付きで解説

    本記事では、Androidアプリでタッチの移動イベント(MotionEvent.ACTION_MOVE)を検知し、指が画面上でドラッグされた際の座標を取得して処理する方法を、サンプルコード付きでわかりやすく解説します。 完成イメージ 画面中央に配置したTextViewを指でスライドすると、移動中の現在位置(X座標・Y座標)がToastメッセージとして画面に表示されるシンプルなデモです。 ステップ1:新規プロジェクトを作成する まずはAndroid Studioで新しいプロジェクトを作成しましょう。メニューバーから「File」→「New Project」を選択し、必要事項を入力してプロジェクトを

  2. AndroidでACTION_UP(アクションアップ)イベントを検出・使用する方法

    このチュートリアルでは、Androidアプリでユーザーが画面から指を離した瞬間に発生する「ACTION_UP」イベントを検出して処理する方法を、サンプルコードとともにわかりやすく解説します。 ACTION_UPイベントとは? ACTION_UPは、MotionEventクラスに定義されているアクションの一つで、指やスタイラスが画面から離された(持ち上げられた)タイミングで発生します。タップの確定やドラッグ終了の検知など、タッチ操作の完了を判定したい場面でよく使われます。 手順1:新規プロジェクトを作成する Android Studioを起動し、「File」→「New Project」を選択して