播放框架2.1-在播放控制器中使用java.util.properties时出现语法错误
我在尝试在播放控制器中使用java. UTIL属性类时遇到了一种奇怪的冲突,考虑如下:播放框架2.1-在播放控制器中使用java.util.properties时出现语法错误,java,playframework,playframework-2.1,Java,Playframework,Playframework 2.1,我在尝试在播放控制器中使用java. UTIL属性类时遇到了一种奇怪的冲突,考虑如下: package controllers; import play.mvc.*; import java.util.*; public class Simple extends Controller { Properties prop = new Properties(); prop.setProperty("database", "localhost"); } 在Eclipse中,se
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经验的新手。请将以下两行放在一个方法块中:
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,您可以使用。您还可以告诉他/她为什么。;-)你说得对@alexvetter。我试图改进一下答案。:-)谢谢dschulz,我真的很感谢你的回答,也感谢alexvetter提出的理由,非常有意义,我的疏忽。我认为使用Play 2.1,您可以定义一个全局类来引导代码。dschulz-关于全局类,请告诉我,非常感谢,我已经接受了您的答案:-)