如何在java中使用play framework 2 JsMessages插件的过滤功能?
How can I use in java the filtering function of the play framework 2 JsMessages plugin?
如何使用javaplay framework 2 JsMessages插件的过滤功能?
您可以在 julienrf/play-jsmessages
找到插件代码和文档
我已经阅读了 Scala 示例:
val messages = JsMessages.filtering(_.startsWith("error."))
我猜 java 版本应该是这样的:
final static jsmessages.JsMessages messages = JsMessages.filtering(play.Play.application(),/*a nice filter go there*/);
java 示例应该在对应于生成 jsMessage 对象的部分进行更新,但我猜不出如何传递正确的过滤器函数。这是 java 示例:java sample code.
这是我的代码的 jsMessages 部分。在评论中你得到了没有过滤的正确实现:
//final static jsmessages.JsMessages messages = JsMessages.create(play.Play.application());
final static jsmessages.JsMessages messages = JsMessages.filtering(play.Play.application(),---A play.libs.F.Function<String,Boolean>---);
public static Result jsMessages(String code) {
return ok(messages.generate("Messages", Lang.forCode(code))).as("application/javascript");
}
所以我的问题是创建一个 play.libs 接口 F.Function。
这是在 jsMessages 插件中实现过滤的 java 代码:
final static F.Function<String, Boolean> filter = new F.Function<String, Boolean>() {
@Override
public Boolean apply(String key) {
try {
return key.startsWith("js.");
} catch (Throwable throwable) {
return false;
}
}
};
final static jsmessages.JsMessages messages = JsMessages.filtering( play.Play.application(),filter);
看到它的scala版本就哭了:
val messages = JsMessages.filtering(_.startsWith("error."))
如何使用javaplay framework 2 JsMessages插件的过滤功能? 您可以在 julienrf/play-jsmessages
找到插件代码和文档我已经阅读了 Scala 示例:
val messages = JsMessages.filtering(_.startsWith("error."))
我猜 java 版本应该是这样的:
final static jsmessages.JsMessages messages = JsMessages.filtering(play.Play.application(),/*a nice filter go there*/);
java 示例应该在对应于生成 jsMessage 对象的部分进行更新,但我猜不出如何传递正确的过滤器函数。这是 java 示例:java sample code.
这是我的代码的 jsMessages 部分。在评论中你得到了没有过滤的正确实现:
//final static jsmessages.JsMessages messages = JsMessages.create(play.Play.application());
final static jsmessages.JsMessages messages = JsMessages.filtering(play.Play.application(),---A play.libs.F.Function<String,Boolean>---);
public static Result jsMessages(String code) {
return ok(messages.generate("Messages", Lang.forCode(code))).as("application/javascript");
}
所以我的问题是创建一个 play.libs 接口 F.Function。
这是在 jsMessages 插件中实现过滤的 java 代码:
final static F.Function<String, Boolean> filter = new F.Function<String, Boolean>() {
@Override
public Boolean apply(String key) {
try {
return key.startsWith("js.");
} catch (Throwable throwable) {
return false;
}
}
};
final static jsmessages.JsMessages messages = JsMessages.filtering( play.Play.application(),filter);
看到它的scala版本就哭了:
val messages = JsMessages.filtering(_.startsWith("error."))