簡體   English   中英

我們應該為bean提供java getter,而沒有其背后的實際屬性嗎?

[英]Should we have java getter for bean without actual property behind it?

對沒有在bean內部定義實際屬性的屬性使用getter方法是一種好習慣嗎? 例如,假設我有一個如下所示的Bean類:網站Bean:

public class Website
{
    private string name;

    public string getName() {
     return name;
    }

    public string getUrl() {
      return "http://" + name + "-env.organization.com";
    }   
}

並說如果我正在使用以下類使用struts:Index.jsp:

        <logic:present name="Website" property="url">
            <li><a href="<bean:write name="Website" property="url"/>" class="webAdress" target="_blank"><bean:write name="exhibitor" property="url"/></a></li>
        </logic:present>

所以我的問題是:在jsp文件中使用像這樣的url是一種好習慣,而我們背后沒有任何屬性綁定。 我們是否看到任何問題,或者使用這種方法完全正常?

編輯:將返回類型更改為getUrl()的字符串

擁有getUrl()方法是完全可以的。

對於外界,您的Website類具有一個名為url的屬性,無論該類如何回答有關此屬性的問題-這都是您的類的私有內部。 Bean屬性完全不限於僅傳遞字段值。

如果要實現setUrl()方法,事情可能會變得有些復雜,因為調用者希望getUrl()方法返回他們使用setUrl()存儲的值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM