2016-08-19 14 views
0

私は 'jsp:useBean'を調べようとしており、useBeanに関連して 'jsp:setProperty'と 'jsp:getProperty'が使用されています。 私は、bean IDを使ってsetterとgetterメソッドを直接呼び出すことができるときに、なぜこれらのアクションタグが必要なのでしょうか?<jsp:setProperty>と設定値の差が直接

私はそれをテストするためのサンプルを作成しました。

豆:

package test.usebean.bean; 

public class UseBeanTarget { 

    @Override 
    public String toString() { 
     return "UseBeanTarget [userName=" + userName + ", password=" + password 
       + "]"; 
    } 


    private String userName; 
    private String password; 
    public String getUserName() { 
     return userName; 
    } 
    public void setUserName(String userName) { 
     this.userName = userName; 
    } 
    public String getPassword() { 
     return password; 
    } 
    public void setPassword(String password) { 
     this.password = password; 
    } 


    public String displayName(){ 
     return userName; 
    } 

} 

JSP:私は観察何

<jsp:useBean id="targetBean" class="test.usebean.bean.UseBeanTarget"></jsp:useBean> 
<jsp:setProperty property="userName" name="targetBean" value="Renjith"/> 
<jsp:setProperty property="password" name="targetBean" value="[email protected]"/> 

<h2> 
Set using setProperty 
<br /> 
<%= targetBean %> 
</h2> 
<hr /> 
<% 
targetBean.setUserName("Renjith_Direct"); 
targetBean.setPassword("ren$1234"); 
%> 
<h2> 
After setting the properties directly 
<br /> 
<%= targetBean.getUserName() %> 
<br /> 
<%= targetBean.getPassword() %> 
</h2> 

の両方が同じ目的を果たしていることです。

結果:

Set using setProperty 

UseBeanTarget [userName=Renjith, [email protected]] 

After setting the properties directly 

Renjith_Direct 
ren$1234 

答えて

2

はい、両方の方法は、一般的に眉をひそめているJSPファイル内のJavaコードを使用して正常に動作しますが。 <% %>タグ付きのJavaコードを使用するのではなく、JSPタグを使用すると、JSPファイルのXMLフォーマットが保持され、コードが読みやすくなります。

+0

ああですか?他の目的には役立たないのですか?私はJavaコードが比較的簡単だと感じました。 – Renjith

+0

さて、基本的にそれが理由です。このような小さなコードについては、スクリプトレットがもっと簡単に感じられるかもしれませんが、大量のスクリプトレットを持つ大きなプロジェクトを管理するのは面倒です。 JSPファイルは「プレゼンテーション」にのみ使用する必要があり、ロジックはサーブレット・クラス・ファイルになければなりません。 1つのライナーを使用すると、スクリプトレットレットは大丈夫と思うかもしれませんが、可能な限りJSPタグを使用しようとします。より説明的な答え:http://stackoverflow.com/questions/3177733/how-to-avoid-java-code-in-jsp-files役に立った場合は、私の答えにチェックを入れてください:) – sope

+0

意味が.... – Renjith

関連する問題