2011-02-03 8 views
2

jsp:setPropertyを使用する方法を知りたいと思っています。次に、2つのJavaクラスの簡単な例を示します。ここで重要な部分は、私がMyExample内からMYNAMEオブジェクトを参照したいということですjsp:setPropertyを使用して他のBeanに1つのBeanを設定する

<jsp:useBean id="example" class="MyExample" scope="page"/> 
<jsp:setProperty name="example" property="????" value="aFirstName"/> 

public class MyExample { 
    private MyName myNameExample = new MyName(); 

    public MyExample() {} 

    public MyName getMyNameExample() { 
    return myNameExample; 
    } 
    public void setMyNameExample(MyName setTo) { 
    myNameExample = setTo; 
    } 
} 

public class MyName { 
    private String firstName; 

    public MyName() {} 


    public String getFirstName() { 
    return firstName; 
    } 
    public String setFirstName(String setTo) { 
    firstName = setTo; 
    } 
} 

は、私のようなものを使用しようとしていました。したがって、MyNameに直接アクセスするためのBeanを作成しても、私は役に立ちません。だから私はこの答えを捜しているわけではない:

<jsp:useBean id="name" class="MyName" scope="page"/> 
<jsp:setProperty name="name" property="firstName" value="aFirstName"/> 
+0

「example.firstName」または「example.lastName」を最初のタイプのBeanに設定できますか? – Pointy

答えて

2

あなただけの両方のBeanを作成し、${}することにより、他の1つを設定することができます。具体的な問題とは無関係の

<jsp:useBean id="myName" class="MyName" scope="page" /> 
<jsp:setProperty name="myName" property="firstName" value="aFirstName" /> 
<jsp:useBean id="myExample" class="MyExample" scope="page" /> 
<jsp:setProperty name="myExample" property="myExampleName" value="${myName}" /> 

、私はサーブレットとMVCの学習に時間を投資することをお勧めしたいです。上の図は、ビューでモデルを制御するかなり古くて緊密に結合された方法です。

パッケージレスクラスの使用は、(パッケージ内の通常のクラスでは不可視なので)すべての状況で機能するとは限りません。特定のApache Tomcat設定でのみ動作します。むしろ、あなたのクラスをそれに依存しないようにパッケージに入れてください。

+0

ありがとうございます。これは私が探していた解決策の一種です。 また、サーブレットとMVCに関する提案に感謝します。私は見てみましょう。私の会社では、日付の付いたバージョンのアプリケーションサーバーを使用しています。これは、一部のテクノロジが利用できないことを意味します。個人的に私はJSFを使いたいと思っていますが、私はできません。 最後に、わかりやすくするためにパッケージ構造を廃止しました。しかし、はい、あなたが注意しているように、すべてのJavaクラスはパッケージに入れる必要があります! – Hans

+0

要約すると、機能しましたか? – BalusC

+0

はい。これはうまくいった。 – Hans

関連する問題