繁体   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