0
我有一个Play2框架应用程序,并且在IntelliJ Idea中做了一个完全缓存失效并重新启动后出现问题重新编译。我得到的错误是:Scala模板与Play框架中找不到的类
[warn] Class models.AgeGroup not found - continuing with a stub.
[error] /Users/xxx/app/views/registrations/selectPrinterView.scala.html:13: not found: value AgeGroup
[error] @for((k, v) <- AgeGroup.optionsForGroups()) {
[error] ^
[error] /Users/xxx/app/views/registrations/selectPrinterView.scala.html:14: overloaded method value apply with alternatives:
[error] (keys: Seq[String],args: Any*)(implicit messages: play.api.i18n.Messages)String <and>
[error] (key: String,args: Any*)(implicit messages: play.api.i18n.Messages)String
[error] cannot be applied to (Any)
[error] <option value="@k">@Messages(v)</option>
[error]
我想我有过,但不记得如何解决它。关于@Messages的第二个错误可能是相关的,并给出一个后验。
这是我的模板代码:
<select name="ageGroup">
@for((k, v) <- AgeGroup.optionsForGroups()) {
<option value="@k">@Messages(v)</option>
}
</select>
我使用一个类AgeGroup下应用程序/模型/ AgeGroup:
package models;
import play.i18n.Messages;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* Created on 25/11/2015.
*/
public enum AgeGroup {
U18,
O18,
BOTH,
SPECIAL;
public static Map<String, String> optionsForGroups() {
LinkedHashMap<String, String> vals = new LinkedHashMap<>();
vals.put(U18.name(), Messages.get(U18.name()));
vals.put(O18.name(), Messages.get(O18.name()));
vals.put(BOTH.name(), Messages.get(BOTH.name()));
return vals;
}
public static Map<String, String> optionsForRooms() {
LinkedHashMap<String, String> vals = new LinkedHashMap<>();
vals.put(U18.name(), Messages.get(U18.name()));
vals.put(O18.name(), Messages.get(O18.name()));
vals.put(SPECIAL.name(), Messages.get(SPECIAL.name()));
return vals;
}
}
这为我工作了两年,但现在它停止工作,并且我花了两个小时,并且不知道为什么(并且没有对代码本身进行任何更改)。所以,任何帮助真的很感激。
需要在模板中导入model.AgeGroup – cchantep
我现在得到'对象AgeGroup不是包模型的成员'。我不明白为什么在它一直工作后它不起作用。就像它不包含在构建中一样 –