java playframework java-8 playframework-2.4

java - Juega Framework @ routes.Assets.at Error de compilación



playframework java-8 (1)

De acuerdo, para resumir la solución: Play te permite servir tus activos de dos maneras diferentes. El anticuado y el nuevo método de huellas dactilares introducido con sbt-web. En cualquier caso, asegúrese de utilizar la llamada correcta en sus archivos de vista:

Activos de huellas dactilares

Esta es la forma recomendada de servir activos en juego. Los activos con huellas dactilares utilizan una estrategia agresiva de almacenamiento en caché. Puedes leer más sobre este tema aquí: https://playframework.com/documentation/2.4.x/Assets

configuración de rutas:

GET /assets/*file controllers.Assets.versioned(path="/public", file: Asset)

Asegúrese de que el tipo de file esté indicado como Asset

llamada en vistas:

@routes.Assets.versioned("an_asset")


Activos anticuados

Este es básicamente el método utilizado antes de la introducción de sbt-web.

configuración de rutas:

GET /assets/*file controllers.Assets.at(path="/public", file)

llamada en vistas:

@routes.Assets.at("an_asset")

Estoy usando Play 2.4.0 y he estado tratando de seguir el tutorial desde la página principal: https://playframework.com/ que es para Play 2.3 y después de resolver un par de cuestiones relacionadas con los cambios en el ORM de Ebean desde versión 2.3 a 2.4, estoy atascado con el siguiente error:

Compilation error value at is not a member of controllers.ReverseAssets

Mi index.scala.html :

@(message: String) @main("Welcome to Play") { <script type=''text/javascript'' src="@routes.Assets.at("javascripts/index.js")"></script> <form action="@routes.Application.addPerson()" method="post"> <input type="text" name="name" /> <button>Add Person</button> </form> <ul id="persons"> </ul> }

Y mi archivo de routes :

# Routes # This file defines all application routes (Higher priority routes first) # ~~~~ # Home page GET / controllers.Application.index() POST /person controllers.Application.addPerson() GET /persons controllers.Application.getPersons() # Map static resources from the /public folder to the /assets URL path GET /assets/*file controllers.Assets.versioned(path="/public", file: Asset)

Tengo este mismo ejemplo que funciona bien con Play 2.3.9

Y no puedo ver nada diferente sobre el trabajo con activos públicos en los documentos para el 2.4.0: https://www.playframework.com/documentation/2.4.0/Assets

Por lo que cualquier ayuda se agradece.