Play Framework 2.1 - 使用Play Controller中的java.util.properties进行语法错误

时间:2013-03-12 19:15:01

标签: java playframework playframework-2.1

尝试在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经验的新游戏。

1 个答案:

答案 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执行此操作。