Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我们是否应该让java getter for bean背后没有实际属性?_Java_Javabeans_Getter_Struts 1 - Fatal编程技术网

我们是否应该让java getter for 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

对于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()
    方法完全可以

    对于外部世界来说,您的网站类有一个名为
    url
    的属性,无论该类如何回答该属性的问题-这是您的类的私有内部。Bean属性完全不限于只传递一个字段值


    如果要实现
    setUrl()
    方法,事情可能会变得更复杂一些,因为调用者希望
    getUrl()
    方法返回与
    setUrl()一起存储的值

    关于bean的重要一点是,它们有名称以
    get
    开头的方法,其他任何内容都是实现细节…getUrl()方法的可能重复项返回字符串,而不是int,对吗?无论如何,我不认为为不存在的属性使用getter有什么问题,特别是如果值不随新实例更改,那么返回的内容是不相关的,例如,
    getFullName()
    可以返回根据名字和姓氏属性计算出的值。这是完全合理的(也是意料之中的)。@AdamsonJeremiah:是的,返回类型是string。我改了。谢谢大家的回复。我想让getter没有属性是有道理的。