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