将字符串从一个类传递到另一个类

时间:2013-02-12 16:58:13

标签: java

我已经检查了教程,这应该可行,但事实并非如此。我在一个类中有一个字符串,我想在另一个类中使用,但是当我这样做时,我得到一个null异常。

@ViewScoped
@ManagedBean
public class FileDirectoryViewer {
FileUploadController destination = new FileUploadController();

        NewDestination = destination + username + "/";

我正试图从

获取目的地
@ViewScoped
@ManagedBean(name = "fileUploadController")
public class FileUploadController {

    public String destination  = "D:/Documents/NetBeansProjects/printing~subversion/fileupload/Uploaded/"; // main location for uploads

如何从FileUploadControllerFileDirectoryViewer获取目的地?

1 个答案:

答案 0 :(得分:0)

destination的{​​{1}}字段没有访问修饰符,因此默认情况下它是包私有的。

如果这两个类在同一个包中,您可以通过创建类的实例来访问它,并使用实例上的FileUploadController运算符来访问该属性:

.

如果不是,则应在FileUploadController controller = new FileUploadController(); NewDestination = controller.destination + username + "/"; 中实施一个返回public String getDestination()的{​​{1}}方法。您也应该使用FileUploadController运算符调用此方法:destination

考虑到您发布的代码有几个问题:

  • 您将代码置于.类的方法之外。在类中,您只能定义成员(例如字段或方法)。一般来说,行为代码都在方法声明中。

  • 将硬编码变量用于路径属性可能被视为不良做法。查看controller.getDestination()开始。无论如何,根据代码的外观,FileDirectoryViewer字段作为实例字段没有意义,它可以是java.util.Properties或在destination中定义。

  • java的命名约定建议变量名为camel case,并以小写字母开头。