如何在Java类中调用Scala方法
由于我需要Play应用程序加载并读取单个消息文件,所以我考虑从Java的如何在Java类中调用Scala方法,java,scala,playframework-2.0,Java,Scala,Playframework 2.0,由于我需要Play应用程序加载并读取单个消息文件,所以我考虑从Java的应用程序类调用Scala的MessagesPlugin类的loadMessages()方法,并传递单个消息文件的路径。我假设当我的应用程序启动时,它将调用Scala的loadMessages()方法并创建单个消息文件的映射。如果我的理解有误,请纠正 由于我对Scala编程一无所知,如果我以错误的方式在Java类中调用Scala方法,请纠正我: import play.api.i18n.MessagesPlugin; clas
应用程序类调用Scala的MessagesPlugin
类的loadMessages()
方法,并传递单个消息文件的路径。我假设当我的应用程序启动时,它将调用Scala的loadMessages()
方法并创建单个消息文件的映射。如果我的理解有误,请纠正
由于我对Scala编程一无所知,如果我以错误的方式在Java类中调用Scala方法,请纠正我:
import play.api.i18n.MessagesPlugin;
class Application{
private static boolean renderHomePage(){
language="en";
String configPath=System.getProperty("IUI_CONFIG_DIR");
MessagesPlugin.loadMessages(configPath+"/"+language+"/messages."+language);
changeLang(language);
setSessionData(true);
return true;
}
}
但是我上面的代码无法识别loadMessages()
。是否需要导入其他内容。如您所见,loadMessages受保护。您必须扩展MessagesPlugin才能调用该方法。在您的链接中,该方法显示为受保护,在此loadMessages中,该方法是私有的。因此,我应该引用哪个方法。具体取决于您的版本。我的链接来自master(最新版本),你的链接来自2.0版本。我在我的项目中使用2.1.3版本的play,其中loadMessages方法是私有的。我们可以在java中重写scala的私有方法吗?如果可以,任何链接或示例都将非常有用。