我们应该为 bean 设置 java getter 而后面没有实际的 属性 吗?
Should we have java getter for bean without actual property behind it?
为 属性 使用 getter 方法是否是一个好习惯,而实际 属性 未在 bean 中定义。例如,假设我有一个 bean class,如下所示:
网站 Bean:
public class Website
{
private string name;
public string getName() {
return name;
}
public string getUrl() {
return "http://" + name + "-env.organization.com";
}
}
假设我正在 struts 上使用此 class,如下所示:
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 是一个很好的做法,而我们在它后面没有任何 属性 绑定。我们是否发现其中有任何问题或它完全可以像这样使用?
编辑:将 return 类型更改为 getUrl()
的字符串
有getUrl()
方法就完全OK了。
对于外界,您的网站 class 有一个名为 url
的 属性,无论 class 如何回答这个 属性 的问题 -那是你 class 的私有内部结构。 Bean 属性完全不限于只传递一个字段值。
如果您要实现 setUrl()
方法,事情可能会变得有点复杂,因为您的调用者期望 getUrl()
方法 return 他们存储的值 setUrl()
.
为 属性 使用 getter 方法是否是一个好习惯,而实际 属性 未在 bean 中定义。例如,假设我有一个 bean class,如下所示: 网站 Bean:
public class Website
{
private string name;
public string getName() {
return name;
}
public string getUrl() {
return "http://" + name + "-env.organization.com";
}
}
假设我正在 struts 上使用此 class,如下所示: 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 是一个很好的做法,而我们在它后面没有任何 属性 绑定。我们是否发现其中有任何问题或它完全可以像这样使用?
编辑:将 return 类型更改为 getUrl()
的字符串有getUrl()
方法就完全OK了。
对于外界,您的网站 class 有一个名为 url
的 属性,无论 class 如何回答这个 属性 的问题 -那是你 class 的私有内部结构。 Bean 属性完全不限于只传递一个字段值。
如果您要实现 setUrl()
方法,事情可能会变得有点复杂,因为您的调用者期望 getUrl()
方法 return 他们存储的值 setUrl()
.