-1

尝试在 Play Controller 中使用 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 方法返回:

标记的语法错误,错误的构造

标记的语法错误,删除这些标记

我认为这段代码在控制器中存在一些冲突,同样的两行代码在定制包中的简单 Java 类中工作。

任何帮助将不胜感激,我是有一些 Java 经验的新手。

4

1 回答 1

3

将这两行放在方法块中:

import play.mvc.*;
import java.util.*;

public class Simple extends Controller {
    public static void pickABetterMethodName() { // Method 
       Properties prop = new Properties();
       prop.setProperty("database", "localhost");
    }
}

这将解决语法问题。原因是您不能在类声明本身中包含不是方法或字段声明的代码。行为在方法中实现。这是关于类声明的 Java 教程,这里是关于方法声明

我认为您要做的是在控制器初始化期间执行代码。如果我没记错的话,在 Play 1.x 中,这可以通过@OnApplicationStart装饰器(在方法上)来实现。我不确定 Play 2.x 是否仍然如此。

编辑:使用 Play 2.x,您可以使用Application 全局设置来执行此操作。

于 2013-03-12T19:47:52.250 回答