尝试在Play控制器中使用java.util.Properties类时,我遇到了一种奇怪的冲突,请考虑以下事项:
package controllers;
import play.mvc.*;
import java.util.*;
public class Simple extends Controller {
Properties prop = new Properties();
prop.setProperty("database", "localhost");
}
在Eclipse中,setProperty方法返回:
令牌上的语法错误,错位的构造
令牌上的语法错误,删除这些令牌
我认为这个代码在Controller中存在一些冲突,同样的两行在定制包中的简单Java类中工作。
任何帮助都会非常感激,我是一名具有一定Java经验的新游戏。
答案 0 :(得分:2)
将这两行放在方法块中:
import play.mvc.*;
import java.util.*;
public class Simple extends Controller {
public static void pickABetterMethodName() { // Method
Properties prop = new Properties();
prop.setProperty("database", "localhost");
}
}
这将解决语法问题。原因是您不能在类声明本身中拥有不是方法或字段声明的代码。行为在方法中实现。这是关于class declaration的Java教程,这里是约method declaration。
我认为您尝试做的是在控制器初始化期间执行代码。如果我没记错的话,在Play 1.x中,可以使用@OnApplicationStart
装饰器(在方法上)。我不确定播放2.x是否仍然如此。
修改:使用Play 2.x,您可以使用Application global settings执行此操作。