【问题标题】:difference between <jsp:setProperty> and setting values directly<jsp:setProperty> 和直接设置值的区别
【发布时间】:2016-08-19 04:01:46
【问题描述】:

我正在尝试研究“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("ren$1234");
%>
<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 
ren$1234

【问题讨论】:

    标签: jsp jsp-tags


    【解决方案1】:

    是的,这两种方法都可以正常工作,但通常不赞成在 JSP 文件中使用 java 代码。使用 JSP 标签而不是使用带有&lt;% %&gt; 标签的 java 代码保留了 JSP 文件的 XML 格式并使代码更具可读性。

    【讨论】:

    • 哦..是吗?所以它没有任何其他用途吗?我觉得java代码比较简单。
    • 嗯,基本上就是这样。当涉及到这样的小代码时,Scriptlet 可能会感觉更简单,但管理一个包含大量 Scriptlet 的大型项目会很烦人。 JSP 文件应该只用于“演示”,并且逻辑应该在 servlet 类文件中。可以认为使用一个 liner scriptlet 没问题,但尽可能尝试使用 JSP 标记。更具描述性的答案:stackoverflow.com/questions/3177733/…。如果有帮助,请务必勾选我的答案:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-27
    • 1970-01-01
    • 2020-08-12
    • 1970-01-01
    • 2012-08-02
    • 2018-07-09
    • 1970-01-01
    相关资源
    最近更新 更多