<jsp:setProperty>和直接设置值的区别
difference between <jsp:setProperty> and setting values directly
我正在研究'jsp:useBean',发现'jsp:setProperty'和'jsp:getProperty'与useBean结合使用。
我的疑问是,当我们可以使用 bean id 直接调用 setter 和 getter 方法时,为什么我们需要这些动作标签?
我做了一个样本来测试它。
豆子:
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="ren@1234"/>
<h2>
Set using setProperty
<br />
<%= targetBean %>
</h2>
<hr />
<%
targetBean.setUserName("Renjith_Direct");
targetBean.setPassword("ren34");
%>
<h2>
After setting the properties directly
<br />
<%= targetBean.getUserName() %>
<br />
<%= targetBean.getPassword() %>
</h2>
我观察到两者的目的相同。
结果:
Set using setProperty
UseBeanTarget [userName=Renjith, password=ren@1234]
After setting the properties directly
Renjith_Direct
ren34
是的,这两种方法都可以正常工作,但通常不赞成在 JSP 文件中使用 java 代码。使用 JSP 标签而不是将 java 代码与 <% %>
标签一起使用可以保留 JSP 文件的 XML 格式并使代码更具可读性。
我正在研究'jsp:useBean',发现'jsp:setProperty'和'jsp:getProperty'与useBean结合使用。 我的疑问是,当我们可以使用 bean id 直接调用 setter 和 getter 方法时,为什么我们需要这些动作标签?
我做了一个样本来测试它。
豆子:
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="ren@1234"/>
<h2>
Set using setProperty
<br />
<%= targetBean %>
</h2>
<hr />
<%
targetBean.setUserName("Renjith_Direct");
targetBean.setPassword("ren34");
%>
<h2>
After setting the properties directly
<br />
<%= targetBean.getUserName() %>
<br />
<%= targetBean.getPassword() %>
</h2>
我观察到两者的目的相同。
结果:
Set using setProperty
UseBeanTarget [userName=Renjith, password=ren@1234]
After setting the properties directly
Renjith_Direct
ren34
是的,这两种方法都可以正常工作,但通常不赞成在 JSP 文件中使用 java 代码。使用 JSP 标签而不是将 java 代码与 <% %>
标签一起使用可以保留 JSP 文件的 XML 格式并使代码更具可读性。