我在application.conf中有一个布尔参数:
system.debugMode = false
我正在尝试在scala模板中根据此值进行分支:
<p>Debug mode parameter value: @Play.current.configuration.getBoolean("system.debugMode")</p>
@if(Play.current.configuration.getBoolean("system.debugMode")) {
<p>Debug mode on</p>
} else {
<p>Debug mode off</p>
}
我期望看到的输出是“调试模式关闭”,但实际呈现的是:
Debug mode parameter value: false
Debug mode on
我这里是否存在一个类型转换问题?看起来我的数值从配置文件中返回的数值是“false”,但@if表达式却将其评估为true。我注意到API文档指出getBoolean方法返回一个包含布尔值的选项,所以可能不能将其放入if评估中?
@if(Play.current.configuration.getBoolean("system.debugMode").getOrElse(true)) {
- 这个例子假设一个值为true,除非特别设置。如果你想假设false,除非设置,请改为getOrElse(false)
。 - Shadowlands