twirl play html playframework

html - twirl - playframework forms



Incluir una página HTML simple dentro de una plantilla de vista de Play Framework (2)

¿Hay alguna forma de incluir una página html simple dentro de la plantilla de vista de Play Framework? Tengo un escenario en el que hay una plantilla de vista común y en el cuerpo de la plantilla, me gustaría incluir ciertas páginas html estáticas. Sé que puedo incluir otras plantillas dentro de una determinada plantilla, pero no estoy seguro de si podría incluir una página html simple.


Tú podrías.

Simplemente ponga algo así en su archivo de rutas:

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

Aquí hay una publicación duplicada: ruta al archivo estático en Play! 2.0


Una opción es simplemente convertir su HTML estático en una plantilla, por ejemplo, crear myStaticPage.scala.html :

<h1>Static page</h1> <p>This page is static, though it is still a template.</p>

Luego su plantilla de vista, myView.scala.html:

@(staticPage: Html) <html> <head>...</head> <body>@staticPage</body> </html>

Y luego en su acción que representa la plantilla:

def renderMyStaticPage = Action { Ok(views.html.myView(views.html.myStaticPage()) }

Solo necesita asegurarse de que su página HTML escapa de los símbolos @ con @@ .

Por otro lado, si la página HTML que se está incluyendo es más dinámica, simplemente cargue el HTML del archivo / database / classloader / de donde proceda, por ejemplo:

def renderMyStaticPage = Action { val staticPage: String = // code to load static page here Ok(views.html.myView(Html(staticPage)) }