我们是否应该让java getter for bean背后没有实际属性?
对于bean中未定义实际属性的属性,使用getter方法是一种好的做法。例如,假设我有一个bean类,如下所示: 网站Bean:我们是否应该让java getter for bean背后没有实际属性?,java,javabeans,getter,struts-1,Java,Javabeans,Getter,Struts 1,对于bean中未定义实际属性的属性,使用getter方法是一种好的做法。例如,假设我有一个bean类,如下所示: 网站Bean: public class Website { private string name; public string getName() { return name; } public string getUrl() { return "http://" + name + "-env.organization.c
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()
方法完全可以
对于外部世界来说,您的网站类有一个名为url
的属性,无论该类如何回答该属性的问题-这是您的类的私有内部。Bean属性完全不限于只传递一个字段值
如果要实现
setUrl()
方法,事情可能会变得更复杂一些,因为调用者希望getUrl()
方法返回与setUrl()一起存储的值
关于bean的重要一点是,它们有名称以get
开头的方法,其他任何内容都是实现细节…getUrl()方法的可能重复项返回字符串,而不是int,对吗?无论如何,我不认为为不存在的属性使用getter有什么问题,特别是如果值不随新实例更改,那么返回的内容是不相关的,例如,getFullName()
可以返回根据名字和姓氏属性计算出的值。这是完全合理的(也是意料之中的)。@AdamsonJeremiah:是的,返回类型是string。我改了。谢谢大家的回复。我想让getter没有属性是有道理的。