我按照文档
https://www.playframework.com/documentation/2.4.x/ScalaI18N
并创建此代码以在视图中使用i18n.Messages:
并创建此代码以在视图中使用i18n.Messages:
import play.api.data.Forms._ import play.api.i18n.I18nSupport import play.i18n.MessagesApi class Auth @Inject()(val messagesApi: MessagesApi) extends Controller with I18nSupport{ val adminForm = Form(mapping( "login" -> nonEmptyText,"password" -> nonEmptyText)(Admin.apply)(Admin.unapply)) def login = Action { implicit request => Ok(views.html.admin.login(adminForm)) } }
有了这个我得到编译错误
overriding method messagesApi in trait I18nSupport of type =>
play.api.i18n.MessagesApi; value messagesApi has incompatible type
我做错了什么?
解决方法
你混合使用scala和java api,以play.api开头的包是为Scala保留的,导入play.api.i18n.MessagesApi而不是play.i18n.MessagesApi.