2013-06-09 21 views
13

Play 2.1 kullanıyorum ve bazı garip sorunlar yaşıyorum.Denetleyicilerdeki yollar ve alt paketleri

controllers paketinde i18n.java sınıfında bir alt paketim var messages.

GET  \ controllers.messages.i18n.index() 
POST \ controllers.messages.i18n.process() 

Şimdi aşağıdaki eylemiyle bir form var:

Benim routes dosya şuna benzer

@helper.form(action = routes.messages.i18n.process()) 

ama bu bana bir hata veriyor:

value messages is not a member of object controllers.routes

Daha önce Subpackages'i Play 2.0.4'te kullandım ve Böyle güzel bir şekilde, yapılandırmamdaki herhangi bir hatayı fark eden var mı?

Yollar dosyası denetleyiciyi bulamadığından şikayet etmiyor.

cevap

18

Rota, controllers.messages.routes.i18n.process() olmalıdır. Oluşturulan dosyaları bulmak için target/scala-2.10/src_managed dizinini inceleyebilirsiniz.

Ayrıca, Java kodlama kuralları, bir sınıfın bir büyük harfle başlaması gerektiğini söyler.

+0

sınıf adı başarısız bir kopyala/yapıştır/düzenle, ama bu işleri:

bu bağlantının alt kısmını okuyun! Src_managed 'ipucu için teşekkürler – Aerus

10

FYI, 2.2'de biraz farklıdır.

kodunda
GET /admin/stuff controllers.admin.StuffController.show() 

benziyor: gibi

routes.conf görünüyor

en Denetleyicinizi (Uygulama) diyelim ve: Çal 2.4.6 Java kullanıcıları için

controllers.admin.routes.StuffController.show() 
3

eylem (çıkış) com.stackoverflow.play.Application.logout().


Şablonunuza (*.scala.html) kullanmak için tek yapmanız @com.stackoverflow.play.routes.Application.logout (ör <a href="@com.stackoverflow.play.routes.Application.logout()">, <form action="@com.stackoverflow.play.routes.Application.logout()" method="post">). https://playframework.com/documentation/2.4.x/JavaRouting