Poniżej lista małych tematów, które można dorzucać do większych ćwiczeń jak jakimś cudem zostanie trochę czasu.
Globalne info o braku strony
To je dobre bo w innych frameworkach ten mechanizm jest na porządku dziennym.
//Global.scala - w katalogu app- będzie warning o tym by nie dodawać do domyślnej paczki.
object Global extends GlobalSettings {
override def onStart(app:Application){
Logger.info("startujemy ku*wa") //to tak dla bajery
}
override def onHandlerNotFound(request: RequestHeader) = {
Future.successful(NotFound(
views.html.nieZnalazlem(request.path)
))
}
}
//nieznalazlem.scala.html
@* nieZnalazlem Template File *@
@(param: Any)
<h1>Nie ma takie strony ku*wa</h1>
Taki niby Quartz
Tutaj jest pierwszy kontakt z Akka.
//Global.scala
override def onStart(app:Application){
Logger.info("startujemy ku*wa")
import play.api.Play.current
import scala.concurrent.duration._
import scala.concurrent.ExecutionContext.Implicits.global
val quartzActor=Akka.system.actorOf(Props(new quartz.QartzActor()))
Akka.system.scheduler.schedule(0.seconds,30.seconds,quartzActor,RobCos())
}
class QartzActor extends Actor{
def receive={
case RobCos()=>println("robie cos")
case _ =>println("robie nic")
}
}
case class RobCos()
Zabawniejszy konfig
Konfig w Playu jest bardzo wygodny w użyciu i ma kilka ciekawych sztuczek. Są takie niby przestrzenie nazw dla propertasów oraz sklejanie propertasów, które fajnie działa przy sklejaniu ścieżek. Tu dla sportu stworzymy sobie ścieżkę z warzywa.
//application.conf
warzywo: {
kolor=zielony,
smak=kwaśny
}
property=${warzywo.kolor}/resztaSciezki
//html
@play.api.Play.current.configuration.getString("warzywo.kolor")
<br/>
@play.api.Play.current.configuration.getString("property")
Minimalizacja javaskryptu
Ten tamat znacznie się rozwinął w Play 2.3 za sprawą sbt-web (chyba) także tutaj uboższa wersja dla wersji 2.2
w app stworzyć paczkę assets.js
//test.js
function dzialaj(a){
var tekst="aaa"
console.log(tekst)
}
//_notCompiled.js
function dzialaj2(a){
var tekst="aaa"
console.log(tekst)
}
Teraz trzeba odświeżyć stronkę bo jakoś sam z siebie tych rzeczy nie kompiluje i mamy
//test.min.js
function dzialaj(a){var tekst="aaa";console.log(tekst)};
//_notCompiled.js
function dzialaj2(a){
var tekst="aaa"
console.log(tekst)
}
I to to nawet nam kompiluje javascript i sprawdza składnie! Bardzo ładnie!
No i to były właśnie takie krótkie małe tematy.



sbt-web a właściwie sbt-uglify. Patrz https://github.com/sbt/sbt-web#available-plugins
OdpowiedzUsuńspoko, dzięki za linka.
OdpowiedzUsuń